Поскольку setUserVisibleHint (boolean aBoolean) теперь устарела, для тех, кто все еще хочет знать, когда фрагмент виден, вы все равно можете использовать
public FragmentTransaction setMaxLifecycle(Fragment fragment, Lifecycle.State state)
либо косвенно с FragmentPagerAdapter (или FragmentStatePagerAdapter)
просто используя новый конструктор
MyFPagerAdapter(FragmentManager fm) {
super(fm ,FragmentStatePagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
//...
}
обратите внимание, что
FragmentStatePagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT позволяет адаптеру использовать setMaxLifecycle внутренне (через setPrimaryItem) вместо setUserVisibleHint.
Следовательно, в реализации вашего фрагмента вам больше не нужно будет использовать
setUserVisibleHint(boolean aBoolean)
но вместо этого onResume () вызывают теперь onResume () будет вызываться только для видимого фрагмента. остальные все равно смогут связаться с onCreateView ().
Прямой путь заключается в использовании setMaxLifeCycle с FragmentTransaction при добавлении или переключении фрагмента, где тогда
setMaxLifecycle(fragment, Lifecycle.State.STARTED);
эквивалентен
setUserVisibleHint(false);
и
setMaxLifecycle(fragment, Lifecycle.State.RESUMED);
эквивалентно
setUserVisibleHint(true);
затем снова прослушать с обратным вызовом Fragment onResume ()