java.lang.IndexOutOfBoundsException:索引0无效,大小只为0一次

时间:2015-07-22 11:13:39

标签: android adapter indexoutofboundsexception

我只在适配器的getItem处获得了以下异常。可能是设备或连接问题,但我的应用程序崩溃了。如何确保我的应用程序在此异常时崩溃设备有问题吗?

 java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0

适配器

   @Override
        public Object getItem(int position) {
            return items.get(position);
        }

2 个答案:

答案 0 :(得分:2)

  @Override
  public Object getItem(int position) {
      if(items.size() == 0) {
            return null;
      }
      return items.get(position);
  }

答案 1 :(得分:0)

有两种方法可以解决这个问题:

第一方式:

您应在 BaseAdapter

中添加以下代码
 @Override
 public int getCount() {
    return items.size();
 }

它将返回ArrayList的元素数。

在你的情况下,如果ArrayList为空,那么它将返回0,因此getItem(int pos)将不会调用。

第二方式:

if(!item.isEmpty()){
  // Set Adapter Here
}else{
 // No data in ArrayList
} 

希望它会对你有所帮助。