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