【问题标题】:Android ArrayAdapter IndexOutOfBoundsException invalid IndexAndroid ArrayAdapter IndexOutOfBoundsException 无效索引
【发布时间】:2014-09-06 19:49:03
【问题描述】:

这是我之前通过覆盖getCount() 方法解决的问题,如下所示:

@Override
public int getCount() {
  return this.items.size();
}

但问题再次出现...我有一个大小为 12 的 ArrayList,但索引应该从 0 到 11 但由于某种原因它一直试图索引 12...

我需要更改我的getCount() 实现吗?

我也覆盖了getItem(),但无济于事。

【问题讨论】:

  • 如果ArrayList 中有 12 个项目,则大小为 12 - 就这么简单......故事结束。索引可能会从 0 变为 11,但这并不能阻止大小为 12。如果没有进一步的代码,就不可能得出答案。
  • 你调试过adapter中item的大小吗?

标签: android android-arrayadapter indexoutofboundsexception


【解决方案1】:

我认为您应该同时覆盖 getCountgetItem 或不覆盖,因为它们必须访问同一个列表。

你可以试试这个

@Override
public int getCount() {
   return this.items.size();
};

@Override
public Site getItem(final int position) {
   return this.items.get(position);
}

【讨论】:

  • 我已经尝试过了……但问题仍然存在。
  • 在更新您的ArrayAdapter 时,您是否尝试过yourAdapter.clear(); 然后notifyDataSetChanged();
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-09
  • 1970-01-01
  • 2016-06-09
相关资源
最近更新 更多