RecyclerView 中adapter.notifyDataSetChanged()无效的问题
来源:互联网 发布:java软件工程师培训班 编辑:程序博客网 时间:2024/06/07 15:20
网上找了很多答案,看了很多博客,让我感觉都讲得模模糊糊,最后是这篇博客解决了我的问题:http://blog.csdn.net/csdn_lqr/article/details/50947825
其实要让notifyDataSetChanged()有效就只是一个要点数据源有变化。
而在我的项目中导致数据源没有发生变化的原因是:
private List<String> resultList = new ArrayList<>();//数据源fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { /* ... 其他操作 */ resultList = Calc.Calculate(); adapter.notifyDataSetChanged(); } }});
public class Calc { //用于临时存放结果。 private static List<String> result = new ArrayList<>(); public static List<String> Calculate(){ /*其他操作*/ return result; }}
在每次调用Calc.Calculate()方法时,都new了一个新的临时变量,所以返回给resultLIst的并不是同一个数据源(即新数据保存在新new的一个空间里),导致一开始给adapter配置的数据源始终无变化。
我的方法是将数据源传入Calculate方法中。
private List<String> resultList = new ArrayList<>();//数据源fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { /* ... 其他操作 */ Calc.Calculate(resultList); adapter.notifyDataSetChanged(); } }});
public class Calc { public static void Calculate(List<String> result){ /*其他操作*/ }}
阅读全文
0 0
- RecyclerView 中adapter.notifyDataSetChanged()无效的问题
- RecyclerView.Adapter notifyDataSetChanged 无效问题
- RecyclerView中Adapter调用notifyDataSetChanged无效时的解决方案
- adapter的notifyDataSetChanged()无效
- adapter的notifyDataSetChanged()无效
- 关于ListView中adapter调用notifyDataSetChanged无效的原因
- ListView中adapter调用notifyDataSetChanged无效的原因
- Android问题集-RecyclerView---adapter.notifyDataSetChanged()不起作用
- Xamarin.Android Adapter NotifyDataSetChanged无效问题
- Adapter中使用notifyDataSetChanged 与notifyDataSetInvalidated无效
- android中adapter使用notifydatasetchanged无效
- Android中RecyclerView调用notifyDataSetChanged方法无效
- adapter调用notifyDataSetChanged 无效的原因
- RecyclerView.Adapter notifyDataSetChanged 不起作用
- RecyclerView.Adapter notifyDataSetChanged 不起作用
- RecyclerView.Adapter notifyDataSetChanged 不起作用
- RecyclerView---adapter.notifyDataSetChanged()不起作用
- RecyclerView遇到notifyDataSetChanged无效时的解决方案
- Windows7下安装与破解IntelliJ IDEA2017
- 【数据结构】中删除小写字母字符串中重复字符
- 【C语言】删除一个节点(仅一个)(单向物理链式结构)
- IntelliJ IDEA 2017激活的正确姿势
- Servlet、Struts1、Struts2、SpringMVC运行原理
- RecyclerView 中adapter.notifyDataSetChanged()无效的问题
- 条款05:了解C++默默编写并调用哪些函数
- python爬虫系列二
- 用IDEA和命令行进行nodejs项目搭建
- 第一篇文章
- 单点登录实现原理
- 条款06:若不想使用编译器自动生成的函数,就该明确拒绝
- 数据库视频| 关系图
- 长连接和短连接