我為 Fragment 中的 Recycler 物件實作了 registerAdapterDataObserver。我實作了這個 DataObserver,所以當資料被添加到 Recycler 串列時,我可以更新顯示給用戶的計數。
baggageListAdapter.registerAdapterDataObserver(object : RecyclerView.AdapterDataObserver() {
override fun onChanged() {
super.onChanged()
setBaggageCount()
}
})
我應該在片段中的某個地方實作 unregisterAdapterDataObserver 嗎?像
override fun onDestroy() {
super.onDestroy()
}
uj5u.com熱心網友回復:
由于您的 Fragment 將比 RecyclerView.Adapter 壽命更長,因此沒有必要取消注冊偵聽器。
如果你的設計是干凈的,我認為應該沒有必要聽配接器的變化。您可能正在觀察向配接器提供資料的相同 LiveData/Flow/Flowable,或者如果您沒有使用反應模式,那么您可以在用于更改支持資料的同一函式中更新該計數。使用視圖物件作為資料狀態的真實來源有點尷尬。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/411492.html
標籤:
