Java 构造函数对象(Context、int、List<;DrawerItem>;)未定义
请帮我解决这个问题。我正在为我的应用程序制作抽屉,我从ADT收到以下错误:Java 构造函数对象(Context、int、List<;DrawerItem>;)未定义,java,android,adt,Java,Android,Adt,请帮我解决这个问题。我正在为我的应用程序制作抽屉,我从ADT收到以下错误: 构造函数对象(上下文、int、List)未定义 CustomDrawerRadapter类型的方法getView(int、View、ViewGroup) 必须重写或实现超类型方法 这是我的CustomDrawerRadapter类代码: package com.example.ico; import java.util.List; import android.app.Activity; import android
- 构造函数对象(上下文、int、List)未定义
- CustomDrawerRadapter类型的方法getView(int、View、ViewGroup) 必须重写或实现超类型方法
package com.example.ico;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class CustomDrawerAdapter {
Context context;
List<DrawerItem> drawerItemList;
int layoutResID;
public CustomDrawerAdapter(Context context, int layoutResourceID, List<DrawerItem> listItems) {
super(context, layoutResourceID, listItems);
this.context = context;
this.drawerItemList = listItems;
this.layoutResID = layoutResourceID;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
DrawerItemHolder drawerHolder;
View view = convertView;
if (view == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
drawerHolder = new DrawerItemHolder();
view = inflater.inflate(layoutResID, parent, false);
drawerHolder.ItemName = (TextView) view
.findViewById(R.id.drawer_itemName);
drawerHolder.icon = (ImageView) view.findViewById(R.id.drawer_icon);
view.setTag(drawerHolder);
} else {
drawerHolder = (DrawerItemHolder) view.getTag();
}
DrawerItem dItem = (DrawerItem) this.drawerItemList.get(position);
drawerHolder.icon.setImageDrawable(view.getResources().getDrawable(
dItem.getImgResID()));
drawerHolder.ItemName.setText(dItem.getItemName());
return view;
}
private static class DrawerItemHolder {
TextView ItemName;
ImageView icon;
}
}
package com.example.ico;
导入java.util.List;
导入android.app.Activity;
导入android.content.Context;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.ImageView;
导入android.widget.TextView;
公共类客户机{
语境;
列表列表;
int layoutResID;
公共CustomPaureRadapter(上下文上下文、内部布局资源ID、列表项){
超级(上下文、布局资源ID、列表项);
this.context=上下文;
this.drawerItemList=列表项;
this.layoutResID=layoutResourceID;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
//TODO自动生成的方法存根
付款人付款人付款人;
视图=转换视图;
如果(视图==null){
LayoutInflater充气器=((活动)上下文)。getLayoutInflater();
抽屉文件夹=新的抽屉文件夹();
视图=充气机。充气(layoutResID,父级,false);
DroperHolder.ItemName=(TextView)视图
.findViewById(R.id.出票人\项目名称);
drawerHolder.icon=(ImageView)view.findViewById(R.id.drawer\u图标);
view.setTag(抽屉夹);
}否则{
DroperHolder=(DroperItemHolder)视图.getTag();
}
DroperItem数据项=(DroperItem)this.DroperItemList.get(位置);
drawerHolder.icon.setImageDrawable(view.getResources().getDrawable(
getImgResID());
drawerHolder.ItemName.setText(dItem.getItemName());
返回视图;
}
私有静态类文件夹{
TextView项目名称;
图像视图图标;
}
}
要解决所有问题,您需要使类扩展ArrayAdapter
public class CustomDrawerAdapter extends ArrayAdapter {
1/目前,您从Object扩展而非某个类,该类具有您尝试调用的构造函数。2/您应该扩展的类很可能有一个可以重写的getView方法。您应该
扩展ArrayAdapter