と言ってもここに書いてある事をやっただけ。
Update data in ListFragment as part of ViewPager
ここの2番めのFragmentStatePagerAdapter#instantiateItemを使う方法でいけました。
最も投票されているViewPagerが自動的に設定する、Tagを使ってFragmentを取ってくる回答はFragmentPagerAdapterを使っている場合は使えるけど、FragmentStatePagerAdapterを使っている場合はダメみたいです。
まぁどのみちAPIが勝手に設定しているTagを利用するのはちょっと怖いですよね。いつ変わるか分からないし。
ちなみに任意のページのFragmentではなくて、現在表示しているページのFragmentを取得したいのであればこんなふうにすればいけました。
ViewPager pager = (ViewPager) getActivity().findViewById(R.id.pager); FragmentStatePagerAdapter sAdapter = (FragmentStatePagerAdapter) pager.getAdapter(); HistoryListFragment f2 =(HistoryListFragment) sAdapter.instantiateItem(pager, pager.getCurrentItem());ViewPager#getCurrentItemで現在表示しているページのpositionを取得しただけですが。
0 件のコメント:
コメントを投稿