ListView子项在数据库中的id

    Listview这东西呢,嗯,很常用,表示还是被坑了很久来着。尴尬

 

    比如说,我所做的是,把内容添入数据库sqlite,然后呢,把表中的数据放到一个ArrayList里,再将ArrayList中的数据作为数据源与listview适配,绑定成功,可以正常添加和显示了。大笑

 

    可是!当要做删除时,就彻底被网上流传最广的那个listview删除代码坑了。如下:

filelist.remove(position);
listAdapter.notifyDataSetChanged(); 

 没错就是这样,无数博客论坛都是这样,于是我傻傻以为只要删除那个位置就可以了,是其他地方代码不对犹豫,好吧确实也有不对。直到后来,这样的删除表现的结果变成开始删除成功,一刷又出来了,我才终于动脑子想到,数据库没删,再重新获取当然又出来了啊!

 

    删除操作是需要id的,于是我开始寻找如何得到id而不是位置,可是无数博客论坛所说的的都是位置。。

HashMap<String, Object> map = MainActivity.listData.get(position); 
 //listData是存放数据的ArrayList
int id = Integer.valueOf((map.get("id").toString()));    
dbHelper.delete(MainActivity.db, "notes", id);
MainActivity.listData.remove(position);  
MainActivity.listItemAdapter.notifyDataSetChanged(); 

好吧反正最后我是这样删的大笑

难道把listview里的东西存到数据库里,然后在点击listview子项之后的内容页设置了一个删除选项,这是很奇怪的想法所以没人用吗。。还是我想多了?求指教哭

 

    

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值