Я знаю, что в StackOverflow есть много похожих вопросов, но мой вопрос немного отличается.
У меня есть вложенная иерархия фрагментов, как в нижерасположенной структуре:
Activity
|
|
AFragment
|
(ViewPager)
| |
| |
BFragment BFragment .....
|
(ViewPager)
| |
| |
CFragment CFragment ...
|
(ViewPager)
| |
| |
DFragment DFragment ...
Теперь я хочу знать, показывает ли DFragment
пользователю или нет?
Я попробовал много решений из StackOverflow, но не смог добиться успеха.
Что я пробовал:
Я попробовал setUserVisibleHint()
, но он возвращает true
для нескольких DFragment
в иерархии выше, что является причиной ViewPager
Я также пробовал по этим ссылкам: link1, link2, link3 и т.д.... но не получили фактического решения.
Ожидание помощи. Спасибо.
UPDATE
Класс адаптера
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);
}
}