2

いくつかのアイテムを含む 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 から拡張することでした..

4

1 に答える 1