Kotlin安卓开发:ViewPage的动态刷新


总是遇到一个问题:

无法动态刷新ViewPage里的Fragment

null

ViewPage里使用的是Fragment,list_fg就是一个fg集合、

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

null

这里接收要移除的fg下标就是msg.arg1

然后调用view_page_adapter.notifyDataSetChanged()

感觉是可以,实际无效、

我们实现viewPage的adapter类有两个

最开始用得是:FragmentPagerAdapter

发现,出现一个问题,删除第一个fg,结果最后一个fg没了。然后,下次进入后,第一个没了,最后一个正常、

而且从最后开始删除,就不会出现这个情况,百度一下,发现是继承的这个adapter类的问题,他会缓存当前fg和旁边的fg

所以没办法立即删除。

默认getItemPOsition会返回无状态改变,这里要重写一下,返回强制改变状态。这个可以百度相关资料,缺点是会重新绘制所有的fg

null

Kotlin安卓开发:ViewPage的动态刷新null

换成:FragmentStatePagerAdapter

null

就好了。


文章作者: 2winter
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 2winter !
  目录