いくつかのアイテムを含む FragmentList があります。項目をクリックすると、Viewpager を含む適切な Fragment が開きます。これまでのところ問題はありませんが、リストに戻って項目をもう一度クリックすると、メソッド getItem(int position) は呼び出されなくなりました。
ここに同様の問題のあるリンクがあります:
フラグメント内のフラグメントビューページャーを表示します
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.activity_fragment_runtime, container, false);
mViewPager = (ViewPager) view.findViewById(R.id.pager);
indicator = (TitlePageIndicator) view.findViewById(R.id.indicator);
MyFragmentPagerAdapter mMyFragmentPagerAdapter = new MyFragmentPagerAdapter(getActivity().getSupportFragmentManager());
mViewPager.setAdapter(mMyFragmentPagerAdapter);
indicator.setViewPager(mViewPager);
return view;
}
class MyFragmentPagerAdapter extends FragmentStatePagerAdapter implements TitleProvider {
public MyFragmentPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public String getTitle(int position) {
return muxbusTitles[position];
}
@Override
public Fragment getItem(int location) {
return muxbusFragmentList.get(location);
}
@Override
public int getCount() {
return muxbusTitles.length;
}
}
return view;
}
編集: 誰かが興味を持っている場合、Viewpager は既に Fragment にあるため、解決策は FragmentStatePagerAdpater ではなく PagerAdapter から拡張することでした..