Android [奇怪的问题]CursorIndexOutOfBoundsException:请求索引-1,大小为4
我有以下代码,用于在地图中标记时显示AlertDialog:Android [奇怪的问题]CursorIndexOutOfBoundsException:请求索引-1,大小为4,android,sqlite,google-maps,google-maps-markers,android-alertdialog,Android,Sqlite,Google Maps,Google Maps Markers,Android Alertdialog,我有以下代码,用于在地图中标记时显示AlertDialog: protected boolean onTap(int index) { db = openHelper.getWritableDatabase(); String[] result_columns = new String[] {COL_DESCRI}; Cursor cur = db.query(true, TABLE_COORD, result_colu
protected boolean onTap(int index) {
db = openHelper.getWritableDatabase();
String[] result_columns = new String[] {COL_DESCRI};
Cursor cur = db.query(true, TABLE_COORD, result_columns,
null, null, null, null, null, null);
cur.moveToPosition(index-1);
String description = cur.getString(cur.getColumnIndexOrThrow(COL_DESCRI));
AlertDialog.Builder dialog = new AlertDialog.Builder(Geo.this);
dialog.setTitle("Infos.");
dialog.setMessage(description);
dialog.setPositiveButton("OK", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
dialog.show();
cur.close();
db.close();
return true;
}
问题是,4中的3个标记工作正常,但有一个是强制关闭应用程序。那个错误有什么问题?我制作了cur.moveToPositionindex-1;而且总是一样的问题。
谢谢您的帮助。您是否尝试过使用cur.moveToNext?它对我有效我必须使它成为一个循环,如果我这样做,当我只点击一个标记时,就会显示所有的AlertDialog。