使用setSingleChoiceItems(cursor,checkedItem,labelColumn,listener)和setCursor()方法从数据库填充列表对话框

时间:2015-07-12 11:18:20

标签: android sqlite select dialog alertdialog

我想使用数据库中的值填充List Dialog。 我正在使用此代码(其中c是通过Query“select * from tbl”获得的游标)

                ab.setCursor(c, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub

                }
                },c.getColumnName(0));

但它显示异常java.lang.IllegalArgumentException:column'_id'不存在。但是这个列出现在我的表中。

我在stackoverflow上只看到了setCursor的例子,使用这样的set cursor:

        builder.setCursor(c, new OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
        c.moveToPosition(which);
        int idWeWant = c.getInt(c.getColumnIndexOrThrow(STRING_ID_WE_WANT));
        //you can make another dialog here using the same method
        }
        });

标记为右但它是2参数传递方法,在我的IDE中setCursor()是3参数传递所以它怎么可能是正确的.. 帮助我正确实现setCursor,并告诉我如何使用 setSingleChoiceItems(cursor,checkedItem,labelColumn,listener) 因为此方法中显示了相同的非法状态异常(使用labelColumn作为c.getColumnName(0))。

提前完成。

0 个答案:

没有答案