AndroidAndroid开发经验谈Android开发

ListView Adapter.notifi不管用

2017-12-07  本文已影响51人  青楼爱小生

前言,在使用到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*()的对应方法

上一篇 下一篇

猜你喜欢

热点阅读