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

版权声明:仅供参考,愿世界对我们温柔以待 https://blog.csdn.net/u010913414/article/details/84627132

总是遇到一个问题:

无法动态刷新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

就好了。

猜你喜欢

转载自blog.csdn.net/u010913414/article/details/84627132