Добрый день! У меня есть viewPager c FragmentStatePagerAdapter, на уровне viewPager создал в xml FloatingActionButton. У viewPager итемы с однотипным контентом и итемы - это просто фрагмент который заполняется в зависимости от позиции viewPager.
private class ViewPagerAdapter extends FragmentStatePagerAdapter {
@Override
public Fragment getItem(int position) {
Bundle bundle = new Bundle();
bundle.putInt(POSITION, position);
ItemViewPagerFragment fragment = new ItemViewPagerFragment();
fragment.setArguments(bundle);
return fragment;
}
}
В ItemViewPagerFragment я нахожу FloatingActionButton и вешаю на нее клик.
FloatingActionButton floatingActionButton = getActivity().findViewById(R.id.fab);
floatingActionButton.setOnClickListener(this);
По нажатии на floatingActionButton должен запускаться другой фрагмент, в зависимости от позиции viewPager, например вот:
private void startNewVisitDoc() {
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.addToBackStack(null)
.replace(R.id.contentMain, new ClientViewPagerContainer())
.commit();
}
При инициализации если я перемещусь на вторую позицию viewPager, а потом снова вернусь на первую то getFragmentManager() == null, и childFragmentManager == null
Забавно что в каждом итеме реализован ListView на котором повешен onListItemClick и по этому событию тоже вызывается startNewVisitDoc(); который отрабатывает корректно.
Собственно приложение падает. Помогите пожалуйста. Что я сделал нетак?