• 博客用的banner转载自bilibili,礼赞新中国70周岁!
  • 站点的评论回复邮件可能会被邮箱放入垃圾邮件中,请注意哦~
  • 大树 2019 年准备考研,所以网站内容的更新可能会需要等到考完研了.... 也祝各位研友考研顺利!!
  • 梯云博客近期增设了“电影资源”板块,在视频区域下边哦~
  • 如果百度网盘下载速度过慢,可使用该工具~Proxyee-down 百度网盘不限速
  • 本站所有发布的信息以及产品,仅供学习研究使用;除有软件所有者授权外不得非法用于商业或其他用途。
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏梯云吧!

Android中使用SimpleCursorAdapter报错

Android 做棵大树 1年前 (2018-05-25) 280次浏览 0个评论

最近刚学了Android中的数据库存储 SQLite 数据库,在仿照着书上的例子写一个电话簿,然而在运行的过程中则是出现了以下的错误。

Android 中使用 SimpleCursorAdapter 报错

这是我的代码部分

try{
            Cursor cursor = db.rawQuery("select * from contact",null);
            inflateList(cursor);
        }catch (SQLiteException e){
            db.execSQL("create table contact(<span style="color: #800000;"><strong>id integer</strong></span> "+"primary key autoincrement,"
                    +"name varchar(50),"+"telephone varchar(50))");
            Cursor cursor = db.rawQuery("select * from contact",null);
            inflateList(cursor);
        }
——————————————————————————————————————
private void inflateList(Cursor cursor){
        //填充 simplecursorAdapter
       SimpleCursorAdapter sca = new SimpleCursorAdapter(MainActivity.this, R.layout.show,   cursor,
                new String[]{"name","telephone"},
                new int[]{R.id.my_name,R.id.my_telephone},CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
        listView.setAdapter(sca);
    }

注意代码中的红色字块,原来我是想用 id 比较容易,然而缺少了一列 _id。

_id 是用来干什么的?

SimpleCursorAdapter 只识别 _id 作为主键

所以我们需要把上面查询的代码修改一下,添加一个 _id 的值


TeenShare 梯云博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Android 中使用 SimpleCursorAdapter 报错
喜欢 (2)
[欢迎投币]
分享 (0)
关于作者:
一个整天无所事事的,有时候忽然热血的孩子
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址