zoukankan      html  css  js  c++  java
  • android中SimpleCursorAdapter _id错误的问题

    作为一个android新手,在绑定数据的时候是这样的

     ListView listview=(ListView)this.findViewById(R.id.listView1);
            
            XJDal xj=new XJDal(MainActivity.this); 
            Cursor cur=xj.Query(); 
    		ListAdapter ad=new SimpleCursorAdapter(this, 
    				android.R.layout.simple_expandable_list_item_2, 
    				cur,
    				new String[]{"timeflag","type"},
                    new int[]{android.R.id.text1,android.R.id.text2} );
     
            	listview.setAdapter(ad);

    查询语句

     public Cursor Query()
    	 {
    		 return db.query("XJ", new String[]{"timeflag","type"}, null, null, null, null, null);
     
    	 }

    这个时候运行总是报错,其中有一行

    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sclock/com.sclock.MainActivity}: java.lang.IllegalArgumentException: column '_id' does not exist


    缺少了一列_id。

    _id是用来干什么的?

    SimpleCursorAdapter只识别_id作为主键

    所以我们需要把上面查询的代码修改一下,添加一个_id的值,如果你的数据库中没有的话可以将主键 as _id。

     public Cursor Query()
    	 {
    		 return db.query("XJ", new String[]{"_id","timeflag","type"}, null, null, null, null, null);
    		 
    	 }
  • 相关阅读:
    algorithm 使用经验
    Overload, Override and Overwrite ( copy)
    stl sort使用经验
    list 删除制定元素
    php常用技巧
    php 日历源码
    stl smart指针
    一道华为笔试题 ,内存相关
    stl list使用。(转)
    List 使用经验
  • 原文地址:https://www.cnblogs.com/ac1985482/p/3147962.html
Copyright © 2011-2022 走看看