1. 程式人生 > >Kotlin安卓開發:ViewPage的動態重新整理

Kotlin安卓開發:ViewPage的動態重新整理

總是遇到一個問題:

無法動態重新整理ViewPage裡的Fragment

ViewPage裡使用的是Fragment,list_fg就是一個fg集合、

  list_fg.removeAt(msg.arg1)
  Log.d("msg:",msg.arg1.toString())
  iwh_view_page_adapter.notifyDataSetChanged()

這裡接收要移除的fg下標就是msg.arg1

然後呼叫view_page_adapter.notifyDataSetChanged()

感覺是可以,實際無效、

我們實現viewPage的adapter類有兩個

最開始用得是:FragmentPagerAdapter

發現,出現一個問題,刪除第一個fg,結果最後一個fg沒了。然後,下次進入後,第一個沒了,最後一個正常、

而且從最後開始刪除,就不會出現這個情況,百度一下,發現是繼承的這個adapter類的問題,他會快取當前fg和旁邊的fg

所以沒辦法立即刪除。

預設getItemPOsition會返回無狀態改變,這裡要重寫一下,返回強制改變狀態。這個可以百度相關資料,缺點是會重新繪製所有的fg

換成:FragmentStatePagerAdapter

就好了。