检查片段当前是否可见
2022-09-02 02:38:13
我知道StackOverflow中有很多类似的问题,但我的问题没有什么不同。
我有嵌套的片段层次结构,如下结构所示:
Activity
|
|
AFragment
|
(ViewPager)
| |
| |
BFragment BFragment .....
|
(ViewPager)
| |
| |
CFragment CFragment ...
|
(ViewPager)
| |
| |
DFragment DFragment ...
现在我想知道是否正在向用户显示?DFragment
我尝试了很多StackOverflow的解决方案,但未能成功。
我尝试的是:
我试过了,但它在上面的层次结构中返回了多个,这是导致setUserVisibleHint()
true
DFragment
ViewPager
我也尝试从这些链接:link1,link2,link3等等...但没有得到实际的解决方案。
等待帮助。谢谢。
更新
适配器类
class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}