我正在尝试创建自定义适配器,我有一个错误,说没有默认构造函数可用
public class GuessAdapter extends ArrayAdapter <Game> {
Context context;
int resource;
Peg[] guess;
LayoutInflater inflater;
public void PegArrayAdapter(Peg[] array, Context ctxt){
guess= array;
context = ctxt;
inflater = (LayoutInflater) ctxt.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount() {
return guess.length;
}
@Override
public Game getItem(int arg0){
return guess[arg0];
}
public long getItemId(int arg0){
return arg0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2){
View view = arg1;
if (arg1==null){
arg1 = inflater.inflate(android.R.layout.simple_list_item_1, arg2, false);
}
ImageView imageView =(ImageView)arg1.findViewById(R.id.imageView);
ImageView imageView2=(ImageView)arg1.findViewById(R.id.imageView2);
ImageView imageView3=(ImageView)arg1.findViewById(R.id.imageView3);
ImageView imageView4=(ImageView)arg1.findViewById(R.id.imageView4);
return view;
}
}
这个适配器的拟合构造函数是什么?
答案 0 :(得分:0)
此
public void GuessAdapter(Peg[] array, Context ctxt){
super(ctxt, 0, array);
}
答案 1 :(得分:0)
您尚未向自定义适配器添加任何构造函数。你需要创建一个可以调用super
的构造函数。
在自定义适配器中添加此方法
public GuessAdapter(Peg[] array, Context ctxt) {
super(ctxt, 0, array);
guess= array;
context = ctxt;
inflater = (LayoutInflater) ctxt.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
此外,没有使用方法PegArrayAdapter
,您可以在以后删除它。
答案 2 :(得分:0)
制作自定义适配器的最佳方法是使用BASEADAPTER。 这没有问题。 只需将CustomAdapter类扩展为BaseAdapter即可。 我希望它能正常工作。