美文网首页
List的=和addAll,clear和new

List的=和addAll,clear和new

作者: AppMonkey | 来源:发表于2018-02-08 14:24 被阅读0次

List的赋值和清空,很小的问题却不太容易排查。

写TreeView时有两个List保存数据,一个allNodes,一个treeNodes。

最初写的,发现界面并没有变化

treeNodes = allNodes;

更新数据时
treeNodes = new ArrayList<>();
treeNodes = filter(allNodes);
adapter.notifyDataSetChanged()

第一次修改,然后没数据了,界面空白

treeNodes = allNodes;

更新数据时
treeNodes.clear();
treeNodes = filter(allNodes);
adapter.notifyDataSetChanged()

第二次修改,界面依旧没变化

treeNodes.addAll(allNodes);

更新数据时
treeNodes = new ArrayList<>();
treeNodes = filter(allNodes);
adapter.notifyDataSetChanged()

最终,界面正常刷新

treeNodes.addAll(allNodes);

更新数据时
treeNodes.clear();
treeNodes = filter(allNodes);
adapter.notifyDataSetChanged()

相关文章

网友评论

      本文标题:List的=和addAll,clear和new

      本文链接:https://www.haomeiwen.com/subject/wccttftx.html