加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

listview

发布时间:2020-12-12 23:31:37 所属栏目:百科 来源:网络整理
导读:首先,如果是用 simpleCursorAdapter 填充 ListView 的数据时,必须注意 sqlite 的主键命名,由于 simpleCursorAdapter 的方法只识别 _id ,所以,当你用到 sqlite 的 simpleCursorAdapter 时,必须把数据表的主键命名为 _id 。否则就会出现 java.lang.Illeg

首先,如果是用simpleCursorAdapter填充ListView的数据时,必须注意sqlite的主键命名,由于simpleCursorAdapter的方法只识别_id,所以,当你用到sqlitesimpleCursorAdapter时,必须把数据表的主键命名为_id。否则就会出现java.lang.IllegalArgumentException: column '_id' does not exist错误。

(1)言归正传,当我们点击ListView时,会调用ListView的点击事件,那么点击的这个item的对应的数据库的_id的值,我们可以通过以下代码获取

Java代码
  1. publicclassRoadPickListextendsActivity{
  2. privatestaticfinalStringTAG="RoadPickList";
  3. privateListViewlv;
  4. privateintid;
  5. publicvoidonCreate(BundlesavedInstanceState){
  6. super.onCreate(savedInstanceState);
  7. setContentView(R.layout.roadpicklist);
  8. lv=(ListView)findViewById(R.id.listview);
  9. /**
  10. *添加点击
  11. */
  12. lv.setOnItemClickListener(newListView.OnItemClickListener(){
  13. publicvoidonItemClick(AdapterView<?>arg0,Viewarg1,intarg2,
  14. longarg3){
  15. //TODOAuto-generatedmethodstub
  16. id=(int)arg3;//这里的这个arg3对应的就是数据库中_id的值
  17. }
  18. });
  19. }

(2)另外,我们可能还会用到长按菜单(上下文菜单),当我们在ListView上长按时,想获得长按的这个ListViewitem_id的值,参考下面这段代码

Java代码
  1. /**
  2. *长按菜单的响应
  3. */
  4. publicbooleanonContextItemSelected(MenuItemaItem){
  5. ContextMenuInfomenuInfo=(ContextMenuInfo)aItem.getMenuInfo();
  6. AdapterView.AdapterContextMenuInfoinfo=(AdapterView.AdapterContextMenuInfo)aItem.getMenuInfo();
  7. id=(int)info.id;//这里的info.id对应的就是数据库中_id的值
  8. returntrue;
  9. }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读