zoukankan      html  css  js  c++  java
  • adapter.notifydatasetchanged()没有效果

    项目中有个列表的处理,通过一个参数判断是下拉刷新数据还是加载更多数据,结果下拉刷新就是显示不出来界面,数据是有,就开始searching~,搜出很多相关问题,大意如下:

    1 当数据源发生变化的时候,我们会调用adaper的notifyDataSetChanged()方法

    2 当直接将从数据库或者其他方式获取的数据源集合或者数组直接赋值给当前数据源时,相当于当前数据源的对象发生了变化,当前对象已经不是adapter中的对象了,所以adaper调用notifyDataSetChanged()方法不会进行刷新数据和界面的操作。 

    结果发现真的出问题在这行代码

    mList = model.getData(); adapter.notifyDataSetChanged();

    mList竟然重新赋值了,也就是上面解释的数据源对象发生了变化,改成下面的方式立即解决问题

    if(mList != null){
        mList.clear();
        mList.addAll(model.getData());
        adapter.notifyDataSetChanged();
     }
  • 相关阅读:
    UIAlertView
    网络请求ASIhttp
    省份城市选择
    Certificates
    UTF8
    xcode增加注释插件
    常用片段 button Label
    开发铺助工具
    iOS UI框架
    iOS 引导页
  • 原文地址:https://www.cnblogs.com/zimengfang/p/5577906.html
Copyright © 2011-2022 走看看