我遇到了一個很奇怪的異常。它在這裏運行良好,但我的客戶不斷遇到這個異常,然後崩潰,它花了我很多小時才弄明白,但不幸的是迄今爲止還沒有運氣,任何幫助將不勝感激!奇怪的ArrayIndexOutOfBoundsException
這是代碼:
protected void onPostExecute(List<File> result) {
try {
mBooks.clear();
if (result != null) {
ArrayList<BookInfo> newBooks = new ArrayList<BookInfo>();
for (File f : result) {
BookInfo bi = new BookInfo(BookCollections.this, f);
if (!contains(bi)) {
newBooks.add(bi);
}
}
mDB.insertBooks(newBooks);
mBooks.addAll(newBooks);
new AlertDialog.Builder(BookCollections.this)
.setTitle(newBooks.size() + " Books found!")
.setPositiveButton(android.R.string.ok, null)
.setView(
new BookInfoList(BookCollections.this,
newBooks)).show();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
mScanDlg.dismiss();
notifyDataSetChanged();
}
}
private boolean contains(BookInfo bi) {
if (bi == null) {
return true;
}
for (BookInfo book : mBooks) {
if (book.equalTo(bi)) {
return true;
}
}
for (FolderInfo fi : mFolders) {
if (fi.getBooks() != null) {
for (BookInfo book : fi.getBooks()) {
if (book.equalTo(bi)) {
return true;
}
}
}
}
return false;
}
請幫助我。由於
此異常(java.lang.ArrayIndexOutOfBoundsException)籌集最多
for (File f : result) {
BookInfo bi = new BookInfo(BookCollections.this, f);
if (!contains(bi)) {
newBooks.add(bi);
}
}
添加廣泛的日誌記錄或發明一種方法來獲得調用堆棧的時候發生這種情況... – user1494736 2012-07-14 05:16:47
你說它在這裏工作得很好。這裏有什麼?你重新創建了這個問題嗎?如果是的話,你可以發佈calltrace的logcat輸出嗎? – 2012-07-14 05:56:09