3つの親FragmentをスワイプさせるためのViewPagerAdapterで取得したposition(ここではページ数を表しています)を同じActivity内の子Fragmentで数値化し、現在何ページが取得できているかを表したいと思うのですが、そのコードが分かりません。そもそも同じActivity内だからといって子Fragmentでそのpositionを使うことはできないのでしょうか。改めてpositionを取得しないといけないのですか?(言ってる事わかりにくいかもしれません????)
→自分なりに調べ、positionの取得とテキスト表示はできましたが、数字的にはViewPagerAdapternopositionとは別で動いてしまっています。
public Fragment getItem(int position) {/*ここでpositionを取得*/ Fragment fragment = null; int diff = (position - (MAX_PAGE_NUM / 2)) % OBJECT_NUM; int index = (0 > diff) ? (OBJECT_NUM + diff) : diff; switch (index) { case 0: fragment = new TestFragment1(); break; case 1: fragment = new TestFragment2(); break; case 2: fragment = new TestFragment3(); break; } return fragment; } /*以下は子Fragmentのコード*/ public class childFragment1 extends Fragment { TextView text; private static int position = 0; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_child1, null); text = (TextView) view.findViewById(R.id.text1); return view; } @Override public void onViewCreated(View view, Bundle savedInstanceState) { position++; text.setVisibility(View.VISIBLE); text.setText(String.valueOf(position)); } コード
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/06 09:21