我使用RecyclerView
,其中有一个布尔值涉及getItemCount()
。该布尔值控制RecyclerView
中最后一项的可见性,有点像加载更多视图,但略有不同。有时,这个布尔值的值会改变,所以RecyclerView
将知道是否包含最后一项。RecyclerView - 通过布尔值控制项目数
的代码看起来是这样的
@Override
public int getItemCount() {
return mItemArray.size() + (shouldShow ? 1 : 0);
}
当shouldShow
价值得到更新,我没有打电话notifyDataSetChanged()
或notifyItemChanged()
,但RecyclerView
仍然得到正确更新。但我担心它最终会导致RecyclerView
因不一致而崩溃。我的问题是,
- 正在使用动态布尔值
getItemCount()
正确的方式来控制RecyclerView
大小? - 当此布尔值的值发生变化时,我应该拨打
notify...()
吗? - 因为这个原因,我的
RecyclerView
会因为不一致而崩溃吗?
谢谢你的回答,但是你的意思是'传递int'吗? – katie
我的意思是作为getItemCount返回诠释我们应该只传递int值你正在传递1或0基于布尔值它是正确的 –