[奇怪的问题] CursorIndexOutOfBoundsException:请求索引-1,大小为4

时间:2011-08-24 01:09:03

标签: 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_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.moveToPosition(index-1);并且始终存在同样的问题。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您尝试使用cur.moveToNext()了吗?它对我有用