RecyclerView没有清除(notifyDataSetChanged不工作)

时间:2016-09-19 15:43:31

标签: android android-recyclerview android-adapter notifydatasetchanged

我在这里随处可见,没有任何问题与我的问题有关。基本上我已经实现了一个改变我的应用程序(1或-1)的阅读方向的功能,现在我可以让它最初改变方向并且它工作得很好但是当我让它改回来时(使用相同的代码)但改变方向)它只是没有更新。看起来好像 notifyDataSetChanged(); 不想第二次工作......?

我的代码如下:

private void flip() {

    if (!isFlipped) {
        mData.getItems().removeAll(mData.getItems());
        mAdapter.notifyDataSetChanged();
        isFlipped = true;
        loadData(false, -1);
        closeMenu();
    } else {

        mData.getItems().removeAll(mData.getItems());
        mAdapter.notifyDataSetChanged();
        isFlipped = false;
        loadData(false, 1);
        closeMenu();
    }

}

我做错了什么?

再次,在此先感谢:)

1 个答案:

答案 0 :(得分:1)

在您的RecyclerView 代码中实施公共方法,例如:

public void clearAll(){
    mData.clear();
    this.notifyDataSetChanged();
}

然后从您的活动(或片段)中调用该函数:

private void flip(){

if (!isFlipped) {
    mAdapter.clearAll();
    isFlipped = true;
    loadData(false, -1);
    closeMenu();
} else {
    mAdapter.clearAll();
    isFlipped = false;
    loadData(false, 1);
    closeMenu();
}

}