的Android的ArrayAdapter Indexout我使用的Android ArrayAdapter在我的代碼,有時我看到這個錯誤此起彼伏越界異常
java.lang.ArrayIndexOutOfBoundsException: index=-1 length=12
at java.util.ArrayList.get(ArrayList.java:310)
at com.sample.search.AutoCompleteAdapter.getItem(AutoCompleteAdapter.java:29)
爲什麼指數永遠是-1?
我填充使用
@Override
public Filter getFilter() {
Filter myFilter = new Filter() {
@Override
protected FilterResults performFiltering(CharSequence constraint) {
FilterResults filterResults = new FilterResults();
if(constraint != null) {
// A class that queries a web API, parses the data and returns an ArrayList<Symbol>
SymbolLookUp symLookUp = SymbolLookUp.getInstance();
try {
mData = symLookUp.getMatches(getContext(),constraint.toString());
}
catch(Exception e) {}
// Now assign the values and count to the FilterResults object
filterResults.values = mData;
filterResults.count = mData.size();
}
return filterResults;
}
@Override
protected void publishResults(CharSequence contraint, FilterResults results) {
if(results != null && results.count > 0) {
notifyDataSetChanged();
}
else {
notifyDataSetInvalidated();
}
}
};
return myFilter;
}
而且我的getItem方法一個ArrayAdapter簡直是
@Override
public String getItem(int index) {
return mData.get(index).getSuggestedText();
}
檢查你的代碼的邏輯,因爲我敢肯定,有時會遇到索引超出數組範圍的情況。 – necixy 2011-05-11 13:42:08
@prasant我得到這個錯誤,但不能跟蹤。你能幫助我嗎? – 2016-05-31 12:05:34