强制android来破坏标签更改上的片段? (viewpager的lifeCycle)

时间:2016-09-12 20:10:11

标签: android android-fragments

我的应用中有两个选项卡,其中有两个RecyclerView,当我点击第一个标签中的一个项目时,它会将一个项目添加到第二个标签(下载链接到下载管理器),但用户可以' t看到更改,直到片段onDestroy再次onCreate(旋转,退出,转到第三个标签)我认为这是因为lifeCycle中的viewPager片段保留上一个标签。

如何强制android在标签更改时销毁片段?我甚至尝试使用setOnPageChangeListener接口,但它对我不起作用,可能因为getItem仅在片段创建时运行?

1 个答案:

答案 0 :(得分:2)

您应该在onResume()中执行此操作,而不是在onCreate()中填充列表。在Android Activity生命周期之后,只要您的活动/片段处于非活动状态,就会调用onPause() - 一旦您返回它,就会调用onResume()。因此,如果您在另一个选项卡中并切换到第二个选项卡,将调用onResume(),您可以从那里创建列表 - 无需销毁该视图。

您可以在此处详细了解活动生命周期:https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle