美文网首页
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