ListView获取选中和长按菜单对应的ID
发布时间:2020-12-12 20:33:02 所属栏目:百科 来源:网络整理
导读:首先,如果是用simpleCursorAdapter填充ListView的数据时,必须注意sqlite的主键命名,由于 simpleCursorAdapter的方法只识别_id,所以,当你用到sqlite的simpleCursorAdapter时,必须把数据表的主键命名为_id。否则就会出现java.lang.IllegalArgumentExcept
首先,如果是用simpleCursorAdapter填充ListView的数据时,必须注意sqlite的主键命名,由于 simpleCursorAdapter的方法只识别_id,所以,当你用到sqlite的simpleCursorAdapter时,必须把数据表的主键命名为_id。否则就会出现java.lang.IllegalArgumentException: column '_id' does not exist错误。 (1)言归正传,当我们点击ListView时,会调用ListView的点击事件,那么点击的这个item的对应的数据库的_id的值,我们可以通过以下代码获取 Java代码 收藏代码 1. public class RoadPickList extends Activity{ 2. private static final String TAG = "RoadPickList"; 3. private ListView lv; 4. private int id; 5. public void onCreate(Bundle savedInstanceState) { 6. super.onCreate(savedInstanceState); 7. setContentView(R.layout.roadpicklist); 8. lv = (ListView)findViewById(R.id.listview); 9. /** 10. * 添加点击 11. */ 12. lv.setOnItemClickListener(new ListView.OnItemClickListener() { 13. 14. public void onItemClick(AdapterView<?> arg0,View arg1,int arg2,15. long arg3) { 16. // TODO Auto-generated method stub 17. id = (int) arg3;//这里的这个arg3对应的就是数据库中_id的值 18. } 19. 20. }); 21. } (2)另外,我们可能还会用到长按菜单(上下文菜单),当我们在ListView上长按时,想获得长按的这个ListView的item的_id的值,参考下面这段代码 Java代码 收藏代码 1. /** 2. * 长按菜单的响应 3. */ 4. public boolean onContextItemSelected(MenuItem aItem) { 5. ContextMenuInfo menuInfo = (ContextMenuInfo) aItem.getMenuInfo(); 6. AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)aItem.getMenuInfo(); 7. id = (int)info.id;//这里的info.id对应的就是数据库中_id的值 8. return true; 9. } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读