1
我知道有很多關於這個異常的線程,但是,我希望人們查看我的代碼並協助我在我的具體位置出錯了。android.database.CursorIndexOutOfBoundsException:索引-1請求,大小爲22
這裏是我的代碼,試圖將我的用戶輸入存儲到一個sqlite數據庫,然後傳遞代碼並將其顯示在新的活動中。任何人都可以告訴我哪裏出錯了,爲什麼這個錯誤會持續發生? (在標題錯誤)
Cursor res = myDb.getAllData();
StringBuffer buffer = new StringBuffer();
String getid = res.getString(0);
String getlt = res.getString(1);
String getpt = res.getString(2);
String getqty = res.getString(3);
String getdur = res.getString(4);
String getst = res.getString(5);
String getet = res.getString(6);
if (res != null && res.moveToFirst()) {
do {
buffer.append(getid);
buffer.append(getlt);
buffer.append(getpt);
buffer.append(getqty);
buffer.append(getdur);
buffer.append(getst);
buffer.append(getet);
} while (res.moveToNext());
}
Intent TransferData = new Intent(getBaseContext(), screen4.class);
TransferData.putExtra("ID", getid);
TransferData.putExtra("LineType", getlt);
TransferData.putExtra("PackageType", getpt);
TransferData.putExtra("Quantity", getqty);
TransferData.putExtra("Duration", getdur);
TransferData.putExtra("Starttime",getst);
TransferData.putExtra("endtime", getet);
startActivity(TransferData);
}
});
}
}
未遂2內DO BLOCK:
Cursor res = myDb.getAllData();
StringBuffer buffer = new StringBuffer();
if (res != null && res.moveToNext()) {
do {
String getid = res.getString(0);
String getlt = res.getString(1);
String getpt = res.getString(2);
String getqty = res.getString(3);
String getdur = res.getString(4);
String getst = res.getString(5);
String getet = res.getString(6);
buffer.append(getid);
buffer.append(getlt);
buffer.append(getpt);
buffer.append(getqty);
buffer.append(getdur);
buffer.append(getst);
buffer.append(getet);
Intent TransferData = new Intent(getBaseContext(), screen4.class);
TransferData.putExtra("ID", getid);
TransferData.putExtra("LineType", getlt);
TransferData.putExtra("PackageType", getpt);
TransferData.putExtra("Quantity", getqty);
TransferData.putExtra("Duration", getdur);
TransferData.putExtra("Starttime",getst);
TransferData.putExtra("endtime", getet);
startActivity(TransferData);
} while (res.moveToNext());
我試着你說的,我得到一個錯誤,因爲字符串是在DO塊內聲明的,現在他們不能被意圖訪問。所以我試圖在DO塊內部移動意圖,但它仍然崩潰。我在最初的帖子中對代碼進行了更新 – Fionnuala
是的,你的代碼是一團糟。首先學習一些Java。 –
即時消息只是一個初學者。這是非常有幫助的沒有。 – Fionnuala