ラベル ViewPager の投稿を表示しています。 すべての投稿を表示
ラベル ViewPager の投稿を表示しています。 すべての投稿を表示

2012年10月31日水曜日

[Android]ViewPagerに追加したFragmentのインスタンスを取得する

調べたのでメモ。

と言ってもここに書いてある事をやっただけ。
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を取得しただけですが。

2011年11月27日日曜日

[Android][ListView][ViewPager]ViewPagerの中でListViewを使用する

スワイプによるページ切り替えを実装するのに、ViewPagerを使うことができます。今、自分が作っているアプリで、ViewPagerの中にListViewを配置する必要があったのですが、実装で結構ハマってしまったのでご紹介します。

ViewPagerの基本的な使い方は書きリンクを参照してください。

スワイプ動作でページ送りする(ViewPager) « Tech Booster


ListViewをカスタマイズする | Android Techfirm Lab