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

发布于 2024-12-01 05:44:15 字数 1158 浏览 1 评论 0原文

我有这段代码,用于在点击地图中的标记时显示 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); 并且总是遇到同样的问题。 谢谢你的帮助。

I have this code to show an AlertDialog when taping on a marker in map:

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;
        }

The problem is that 3 markers of 4 are well working, by cons, there is one that is force closes the application. What could be he problem of that error? I maked cur.moveToPosition(index-1); and always the same problem.
Thanks for helping.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

停顿的约定 2024-12-08 05:44:15

您是否尝试过使用cur.moveToNext()?这对我有用

Did you try using cur.moveToNext()? It works for me

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文