Java Android ArrayAdapter错误?
我正在为我的listView制作一个自定义适配器,我得到了一个错误“构造函数ArrayAdapter(Context,int,int[])未定义” 以下是适配器代码:Java Android ArrayAdapter错误?,java,android,listview,android-arrayadapter,Java,Android,Listview,Android Arrayadapter,我正在为我的listView制作一个自定义适配器,我得到了一个错误“构造函数ArrayAdapter(Context,int,int[])未定义” 以下是适配器代码: class HeartlessAdapter extends ArrayAdapter<Integer> { Context context; int[] images; HeartlessAdapter(Context c, int[] imgs) { super(c, R.layout.imageview
class HeartlessAdapter extends ArrayAdapter<Integer>
{
Context context;
int[] images;
HeartlessAdapter(Context c, int[] imgs)
{
super(c, R.layout.imageview, imgs); //this is the line that has the error
this.context=c;
this.images=imgs;
}
class MyViewHolder
{
ImageView myImage;
MyViewHolder(View v)
{
myImage = (ImageView) v.findViewById(R.id.imageView);
}
}
class HeartlessAdapter扩展了ArrayAdapter
{
语境;
int[]图像;
HeartlessAdapter(上下文c,int[]imgs)
{
super(c,R.layout.imageview,imgs);//这是有错误的行
context=c;
这个.images=imgs;
}
类MyViewHolder
{
图像查看我的图像;
MyViewHolder(视图v)
{
myImage=(ImageView)v.findViewById(R.id.ImageView);
}
}
关于如何修复此错误的任何提示,感谢
int
和Integer
在Java中是不同的。您必须将Integer[]
而不是int[]
作为第三个参数传递给ArrayAdapter
构造函数
将int[]a
转换为Integer[]b
:
Integer[] b = new Integer[a.length];
for (int i = 0; i < a.length; i++) b[i] = a[i];
Integer[]b=新整数[a.length];
对于(inti=0;i
在构造函数中,你只有2个参数,即Context c和int[]imgs。而在super()中,你有3个参数。删除R.layout.imageview。我找不到保留它的任何意义。请描述你想做什么,以便我能更好地解释在哪里使用R.layout.imageview