android listview 删除item 刷新 notifyDataSetChanged()失效问题

在Android中,当使用ListView并实现长按删除Item功能时,调用adapter.notifyDataSetChanged()可能无效。原因是数据库中数据已删除,但Adapter中的数据未同步更新。解决方法是在删除数据库数据的同时,从Adapter的数据集合中移除相应项,然后调用notifyDataSetChanged()。具体实现包括设置OnItemLongClickListener,获取点击位置,并在确认删除操作后更新Adapter数据并刷新。
摘要由CSDN通过智能技术生成

问题:在item点击删除后,调用了adapter.notifyDataSetChanged();刷新,不起效果

原因:数据库数据此时已经删除了,但是adpter里的数据并没有删除,所以把adpter里的数据集arraylist里的那一数据删掉才行

解决:代码:

ArrayList<Map<String, Object>> mData = new ArrayList<Map<String, Object>>();
SimpleAdapter  adapter = new SimpleAdapter(getApplicationContext(), mData, R.layout.schedule_list_item, new String[] { "scheduleText", "scheduleTime","scheduleID" }, new int[] { R.id.txt_scheduleText, R.id.txt_scheduleTime,R.id.txt_scheduleID });
list_schedule.setAdapter(adapter); 

在list_schedule.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterVie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值