我的应用中有两个选项卡,其中有两个RecyclerView
,当我点击第一个标签中的一个项目时,它会将一个项目添加到第二个标签(下载链接到下载管理器),但用户可以' t看到更改,直到片段onDestroy
再次onCreate
(旋转,退出,转到第三个标签)我认为这是因为lifeCycle
中的viewPager
片段保留上一个标签。
如何强制android在标签更改时销毁片段?我甚至尝试使用setOnPageChangeListener
接口,但它对我不起作用,可能因为getItem
仅在片段创建时运行?
答案 0 :(得分:2)
您应该在onResume()中执行此操作,而不是在onCreate()中填充列表。在Android Activity生命周期之后,只要您的活动/片段处于非活动状态,就会调用onPause() - 一旦您返回它,就会调用onResume()。因此,如果您在另一个选项卡中并切换到第二个选项卡,将调用onResume(),您可以从那里创建列表 - 无需销毁该视图。
您可以在此处详细了解活动生命周期:https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle