我正在使用RecyclerView,其中getItemCount()中包含布尔值。这个布尔值控制RecyclerView中最后一项的可见性,有点像加载更多视图,但略有不同。该布尔值有时会更改,因此RecyclerView将知道是否包括最后一项。

该代码看起来像这样

@Override
public int getItemCount() {
    return mItemArray.size() + (shouldShow ? 1 : 0);
}


shouldShow的值被更新时,我没有调用notifyDataSetChanged()notifyItemChanged(),但是RecyclerView仍被正确更新。但是我担心它最终会由于不一致而导致RecyclerView崩溃。我的问题是


getItemCount()中使用动态布尔值是控制RecyclerView大小的正确方法吗?
当此布尔值的值更改时,我应该调用notify...()吗?
我的RecyclerView是否会因为不一致而崩溃?

最佳答案

1.在您传递int之前没有问题
2.不需要调用notifydatasetchanged(当适配器数据更改时我们应该调用它们)
3.不会有任何一致性

关于android - RecyclerView-通过 bool 值控制项目计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43099242/

10-12 06:19