我們的應用程序有多個片段來顯示特定於位置的數據。我們使用了FragmentStatePagerAdapter和ViewPager。用戶應該可以添加新頁面並刪除。雖然添加新頁面可以正常工作,但刪除現有頁面會顯示問題。當我確認我有3頁時。我從左側導航菜單按鈕中刪除了第二個。當我嘗試滑動到第三頁時,它顯示了第二頁的已刪除頁面的視圖。並且它不顯示第三頁。從FragmentStatePagerAdapter中刪除頁面會導致問題
我有Overriden getItem()我返回新頁面。當我向Adapter添加/刪除新頁面時,我調整了ItemCount。我在添加/刪除之前調用startUpdate(),destroy()刪除位置中的任何片段對象,在所有事情完成後刪除finishUpdate()。最後notifyDataSetChanged()。
看起來沒有什麼是錯過的,但一些東西。我仍然可以看到已刪除片段的視圖,並且它旁邊是空白頁面或類似的內容,具體取決於我刪除哪個位置的頁面。 我看到Removing fragments from FragmentStatePagerAdapter是類似的東西,但無法幫助我的情況。幫助我的任何線索。
我記得'FragmentStatePagerAdapter'有問題,每當我試圖改變它後面的數據(在我的情況下重新排序項目)。我想我最終編寫了自己從'FragmentStatePagerAdapter'借用的尋呼機適配器,但在處理數據集更改時顯着改變了行爲。不幸的是,我手上沒有代碼... – Karakuri