【问题标题】:Android ArrayAdapter Error?Android ArrayAdapter 错误?
【发布时间】:2014-10-24 16:42:20
【问题描述】:

我正在为我的 listView 制作自定义适配器,我收到此错误“构造函数 ArrayAdapter(Context, int, int[]) 未定义”

这是适配器代码:

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);

    }
}

有关如何解决此错误的任何提示,谢谢

【问题讨论】:

  • 在构造函数中,你只有 2 个参数,即 Context c 和 int[] imgs。在你的 super() 中,你有 3 个项目。删除 R.layout.imageview。我找不到任何保留它的意义。
  • 也描述一下你想做什么,这样我可以更好的解释在哪里使用R.layout.imageview

标签: java android listview android-arrayadapter


【解决方案1】:

intInteger 在 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];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    相关资源
    最近更新 更多