我查閱了RecyclerView.Adapter
的文檔,以瞭解notify...
方法的工作方式。它表示在ViewPager中發生這些更改時,通知RecylerView關於數據集更改的最佳方式是什麼?
如果您正在編寫適配器,如果可以的話,使用更具體的更改事件將始終更高效。作爲最後的手段依賴notifyDataSetChanged()。
點擊的項目我RecyclerView
開始包含ViewPager
的活動。 ViewPager
使用FragmentStatePagerAdapter
。因此,如果我願意的話,我可以輕掃一下視圖並對其進行更改。當我的尋呼機託管活動結束後,我必須通知RecyclerView
的適配器有關更改。我只能看到2點可能的方式來進行:
- 我可以建立這樣的通信通道:尋呼機的片段通知主辦的活動,如果他們編輯 - >主辦活動發送的所有更改的列表在父活動完成時向父活動發送 - >父活動在
RecylerView.Adapter
上調用notifyItemChanged()
進行所有更改。我想不出一種不難看的方式。 - 我說這是最後一招,直接調用'notifyDataSetChanged()`,問題沒有了,但沒有證據證明它不會減慢應用程序的速度。
我對此很新,所以也許我錯過了一個明顯的解決方案。
感謝您的回答。對於通信信道的一部分,'startActivityForResult()似乎是合乎邏輯的。第二部分你會用什麼?片段頁面需要將數據發送到其託管活動的方式。 –
@LimboExile這裏是如何將數據從片段傳遞到活動 https://developer.android.com/training/basics/fragments/communicating.html –
明白了。我現在對片段現在知道它的一種活動方法感到困擾,但是由於官方網站也建議這樣做,那麼它應該是一條路。 –