Android Listview notifyDataSetChanged() 不起作用

bash 复制代码
private ArrayList<Map<String, String>> data = new ArrayList<Map<String, String>>();  
private ArrayList<Map<String, String>> delivered_data= new ArrayList<Map<String, String>>();  

如果直接将arraylist 的数据直接复制,无法完成更新

复制代码
data = delivered_data;
adapter.notifyDataSetChanged();

单个元素改变时候,可以更新

bash 复制代码
data.get(position).put("status", Select[0]);  //change the status 
adapter.notifyDataSetChanged();

如果要以数据list直接传递,需要用下面方法

bash 复制代码
 data.clear();
 data.addAll(delivered_data);
 adapter.notifyDataSetChanged();

更改listview用到下面项目中:

相关推荐
AFinalStone16 小时前
Android 7系统无障碍服务(一)全景图与架构概览
android·无障碍服务
Android-Flutter16 小时前
android 自定义view 详解
android·kotlin
WAsbry16 小时前
协程任务的失败控制:取消、异常传播与Supervisor
android
Android打工仔16 小时前
从 finally 理解程序的控制流:它为什么不是 catch 后面的代码?
android·kotlin
随遇丿而安16 小时前
第15周:Service 全功能 + 后台优化
android
YXL1111YXL16 小时前
续体和状态机 —— suspend 函数的 CPS 变换
android·kotlin
WAsbry16 小时前
Flow数据模型:冷流、状态、事件与共享策略
android
WAsbry16 小时前
深入理解 Kotlin suspend:挂起语义、状态机与恢复调度
android
WAsbry17 小时前
Flow在Android中的完整落地:异常、重试与生命周期
android
WAsbry17 小时前
协程共享状态:Atomic、Mutex、Semaphore与状态封闭
android