我使用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基於布爾值它是正確的 –