java.lang.IndexOutOfBoundsException:索引0无效,size只有一次为0

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

我在 adapter.Maybe 的 getItem 处仅遇到一次以下异常,这是设备或连接问题,但我的应用程序 crashed.How 我可以确保我的应用程序不会崩溃吗如果设备有问题,除了这个例外?

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

适配器

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

有两个选项可以解决这个问题:

第一种方式:

您应该在 BaseAdapter 中添加以下代码:

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

它将return个ArrayList元素。

在你的情况下,如果 ArrayList 为空,它将 return 0 所以 getItem(int pos) 不会调用。

第二方式:

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

希望对您有所帮助。