何时使片段无效

时间:2017-03-31 00:20:03

标签: android android-fragments android-lifecycle

我的活动使用FragmentPagerAdapterFragment方法创建FragmentPagerAdapter.getItem()的新实例。

每当我选择包含我感兴趣的片段的页面时,我想更新其视图,因为当此页面不在屏幕上时,它们可能已失效。

这样做的正确时机/方法是什么?我尝试了一些事情:

  • MyFragment.onCreateView:这只是第一次调用
  • PagerAdapter.onPageSelected:由于PagerAdapter始终创建新实例,因此ViewsfindViewById获得的onCreateView字段引用不可用(除非他们'}我想是静态成员。
  • 其他生命周期事件,包括onResumeonAttach

我发现,如果我将Activity引用传递给Fragment事件中的onPageSelected,并使用findViewById来获取对我的视图的新引用,那么它可以正常工作但是我无法想象这样做的目的不是更多。

1 个答案:

答案 0 :(得分:1)

覆盖此方法,setUserVisibleHint向系统提供有关此片段的UI当前是否对用户可见的提示。此提示默认为true,并且在片段实例状态保存和还原期间保持不变。只要它是真的那么这意味着正在查看片段,无论是从视图寻呼机还是触发其视图验证的东西。 应用可以将其设置为false以指示片段的UI滚动出可见性或者用户不直接可见。

M ore info: