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
}
希望对您有所帮助。
我在 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
}
希望对您有所帮助。