FragmentStatePagerAdapter
已从 API 27 中弃用。 FragmentStatePagerAdapter
的替代方案是什么?
private class MainPagerAdapter extends FragmentStatePagerAdapter {
MainPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment result = new DummyFragment();
return result;
}
@Override
public int getCount() {
return 5;
}
}
上面的代码显示 FragmentStatePagerAdapter
, getItem(...)
和 super(...)
已弃用。
原文由 MJM 发布,翻译遵循 CC BY-SA 4.0 许可协议
切换到 ViewPager2 并改用 FragmentStateAdapter 。
从那里您可以使用 onPause 和 onResume 回调来确定哪个片段当前对用户可见。当片段变得可见时调用 onResume,当它停止可见时调用 onPause。 -> 阅读更多
基于 Eric 和 Reejesh 的评论。
旧答案(现在也已弃用)
以下构造函数执行相同的操作
通过
BEHAVIOR_SET_USER_VISIBLE_HINT
已弃用。您应该改为传递BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT
。传递这些的区别在
FragmentPagerAdapter
中解释: