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子项之后的内容页设置了一个删除选项,这是很奇怪的想法所以没人用吗。。还是我想多了?求指教哭

    

猜你喜欢

转载自gsj990.iteye.com/blog/2033529
今日推荐