1つのフラグメントをビューページで複数回使用することはできますか? ViewPagerを使用して動的に更新されたUIを構築しようとしています。 同じデザインを使用したいと思います。基本的には、リストビューアのように、各ページごとに異なるデータを持つ同じフラグメントです。ViewPagerで1つのフラグメントを複数回使用する
答えて
ViewPagerのすべてのページに対して同じFragmentクラスをインスタンス化し、表示するものを制御するためにViewPagerの位置を渡すことができます。そのような何か:
public class MyFragment extends Fragment {
private int mIndex;
public MyFragment(int index) {
mIndex = index;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
switch(mIndex){
case 0:
// do you things..
case 1:
// etcetera
}
}
}
そして、あなたFragmentPagerAdapter中:
public static class MyAdapter extends FragmentPagerAdapter {
public MyAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return NUM_ITEMS;
}
@Override
public Fragment getItem(int position) {
return new MyFragment(position);
}
}
あなたはスイッチ/ case文には必要なものだけ変えるあなたのコードのほとんどを再利用することができる方法。
しかし、フラグメントクラス –
class
とobject of class
のコンセプトが誤解されています。これはあなたのclass
のinstance
あるobject
を作成します - あなたのMyFragment.java
ソースコードは「生き物」あなたはnew
演算子(new MyFragment();
)とそれをインスタンス化たびにあなたが回しclass
を定義します。意図的に(シングルトンパターンを使用して)これを意図的に防止しない限り、class
の数をinstances
と同じにすることができます。同じレシピでケーキを作ることができます。これは断片にも当てはまります。
だから、限り、あなたは、各ページのためのあなたのclass
の(別名instance
言った)object
別のを作成すると、あなたがやりたいことができるはずです。
の空でないコンストラクタを作成することはできません。 – Harsha
- 1. Haskellで1つのランダム変数を複数回使用する
- 2. Android:複数のスナックバー(別々のフラグメント(ViewPager))
- 3. 複数のRecyclerViewを1つのフラグメント
- 4. 1つのパーシャルビューを同じ親ビューで複数回使用
- 5. ViewPagerフラグメントのRecyclerView adapter.notifyDataSetChangedの使用
- 6. チュートリアルAndroid 2.2でTabHostの使用を実装する+ ViewPagerとフラグメント
- 7. TabLayoutはViewPagerフラグメントと重複します
- 8. ViewPagerでビューまたはフラグメントを使用する
- 9. ViewPagerフラグメントを保存する
- 10. ViewPagerは - フラグメント
- 11. ViewPagerのAndroidオープン・フラグメント
- 12. ViewPagerのフラグメントが消える
- 13. 複数のマシンで1つのソナーサーバを使用する方法
- 14. 1つのアプリケーションで複数のjava.net.CookieHandlerを使用するには?
- 15. 複数のトランザクションで1つのSQL接続を使用する
- 16. 複数のコンシューマをMassTransitで1つのキューに使用する
- 17. 複数のドメインで1つのレールアプリを使用する
- 18. 複数のMapActivitiesで1つのMapViewを使用する方法
- 19. 1つのアンドロイドアプリケーションで複数のテーブルを使用する
- 20. 1つのウェブページで複数の挿入クエリを使用する
- 21. MS Access - 1つのレポートで複数のクエリを使用する
- 22. ViewPager内でフラグメントを参照する
- 23. ViewPagerでフラグメントを更新する
- 24. 2つのフラグメント(1つのフラグメントと1つのListFragment)をスクロールする
- 25. 1つのアイテムを同じリストに複数回追加する
- 26. ViewPager内でフラグメントを別のフラグメントに置き換える
- 27. ggplotの複数のファセットを使った1回の回帰
- 28. ViewPagerでフラグメントを置き換える
- 29. 1つの「使用」で複数のモジュールを「使用する」方法
- 30. Laravel - コントローラを複数回使用する
AFAIK、これは動作しません。 'GestureDetector'を使って既存のフラグメントのスワイプを監視することができます。 – CommonsWare
ところで、明確にするために、私はあなたが単一のフラグメント*クラス*を使用したいということを意味するならば、単一のフラグメント*インスタンス*を使いたいということを意味していると仮定しています。 – CommonsWare