Android点击listview获得数据库中的id

 

在使用listview渲染数据库的数据时,将查询出来的数据id存入对象testmap中,key值用i=0,i++控制, value值就是数据的id。

Map<String ,Object> testMap=new HashMap<String, Object>();//声明对象testmap
        int k=0;
        Cursor cursor=db.query("diary",null,"account=?",new String[]{account},null,null,null);
        if(cursor.moveToFirst()){
            do{
                account_item[0]=cursor.getString(cursor.getColumnIndex("Day"));
                account_item[1]=cursor.getString(cursor.getColumnIndex("id"));
                //渲染时,存入map:key值用i=0;1;2递增,value为渲染出来的数据的id
                testMap.put(""+k,""+account_item[5]);
                k++;             
                DiaryList list = new DiaryList(account_item[0]);
                list.add(list);
            }while(cursor.moveToNext());
        } cursor.close();

生成listview时,适配器一个一个的做item,然后把他们按顺序排好队,在放到listview里,点击事件方法中的参数int i,就是该item在listview中的位置,   Object c=testMap.get(""+i);获得testmap中的value,也就是存进去的id。就可以通过id获取数据库的数据了。

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                Object c=testMap.get(""+i);
                int d=Integer.parseInt(c.toString());
                Intent intent=new Intent(NoteActivity.this,NoteDetailActivity.class);
                intent.putExtra("id",d);
                startActivity(intent);
            }
        });

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值