ListView Adapter.notifi不管用

简介: 前言,在使用到adapter的时候,一般要用List来装数据实体,这里两种不同的写法容易遇到不同的问题。第一种写法class TestAdapter{ private List list; *** public TestAdapter(List list){ this.

前言,在使用到adapter的时候,一般要用List来装数据实体,这里两种不同的写法容易遇到不同的问题。

  • 第一种写法
class TestAdapter{
    private List<Node> list;
    ***

    public TestAdapter(List list){
        this.list = list;
        ***
    }
}

这样的话,我们在list更新的时候直接调用adapter的notifydatasetchanged就可以了.

  • 第二种写法
class TestAdapter{
    private List<Node> mList = new ArrayList<Node>();
    ***

    public TestAdapter(List list){
        mList.addAll(list);
        ***
    }

    public void addAll(List list){
        mList.clear();
        mList.addAll(list);
        notifydatasetchanged();
    }

 public void addOne(Node node){
        
        mList.add(node);
        notifydatasetchanged();
    }
}

用这种写法在数据变化的时候,需要调用adapter.add*()的对应方法

  • 总结
    adapter更新是看对象的地址有没有变化,调用notifydatasetchanged()才会管用.
  • 问题
    notifydatasetchanged不管作用
    1.一般情况下,遇到notifydatasetchanged不管作用是指向的对象已经不是初始化adapter时的那个对象了.比如使用了上面第二种写法,却调用的第一种的方式.
    2.list的size==0;
    3.***
相关文章
|
区块链 开发者
教程(1):关于如何上链的简单直接的操作教程
这是一篇关于如何上链的简单直接地操作流程。
1743 0
教程(1):关于如何上链的简单直接的操作教程
|
人工智能 算法 物联网
阿里云百炼最新能力升级,你都有哪些期待?
阿里云百炼大模型服务产品全新升级,探索算法和技术创新,共享阿里集团内环业务的模型构建经验。
1485 4
|
11月前
|
存储 分布式计算 NoSQL
MongoDB Map Reduce
10月更文挑战第23天
107 1
|
11月前
|
开发框架 Java UED
如何使用 Spring Boot 实现异常处理
如何使用 Spring Boot 实现异常处理
446 2
|
8月前
|
消息中间件 Linux 数据中心
Docker核心技术:Docker原理之Namespace
通过以上内容,您可以深入了解Docker中的Namespace机制及其在资源隔离中的应用,从而更好地理解和应用Docker技术。
264 25
|
Ubuntu 编译器 C语言
Ubuntu安装gcc 以及g++
这篇博客介绍了在Ubuntu系统中安装gcc和g++编译器的步骤,包括解决安装过程中可能遇到的问题,如锁文件冲突,并提供了一些安装GCC和G++的命令和技巧。
353 0
|
缓存 前端开发 IDE
|
存储 Kubernetes Cloud Native
云原生|kubernetes|本地存储hostpath-provisioner部署以及无token密码方式登陆dashboard的部署
云原生|kubernetes|本地存储hostpath-provisioner部署以及无token密码方式登陆dashboard的部署
247 0
|
前端开发 JavaScript 算法
ChatGPT工作提效之layedit上传多附件的解决方案(layedit赋值、layui.js底层修改、追加模式多附件上传)
ChatGPT工作提效之layedit上传多附件的解决方案(layedit赋值、layui.js底层修改、追加模式多附件上传)
563 0
|
JavaScript
element checkbox复选框实现全选功能
element checkbox复选框实现全选功能