2012-03-23 27 views
0

フラグメント内にフラグメントを入れるためのヘルプ、リソース、サンプル、またはチュートリアルはありますか?フラグメント内のフラグメント

私は、アクションバーのナビゲーションタブを使用して2つのタブを配置しています。これは本質的にフラグメントです。私がしたいのは、ListFragmentとDialogFragment(詳細が表示されるように)をAction Bar Navigationタブの断片に入れておくことです。

可能ですか?助けてください。おかげ

ここ

は私が今まで行ってきているもの:

  1. アクションバー上のナビゲーションタブを実装する上でAndroidの記事に続き、2つのタブのアクションバーを実装し、これは罰金を実行しているし、私は2つの異なるレイアウトを表示することができています。
  2. これらのタブのうちの1つでは、Fragmentedビューを表示する必要があります。カスタムArrayAdapterとデータアイテム、データの詳細レイアウトとクラスを持つFragmentListクラスを作成しました。
  3. タブ内にフラグメントを表示する方法について固まったところです。次に、最初のタブの内容を示すコードを示します。リストのフラグメントを適切に初期化するには、どのように変更できますか?

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{ 

    View viewer = (View) inflater.inflate(R.layout.doodle_list, container,false); 
    return viewer; 
} 
+0

コードの例を教えてください。 –

+0

私は実際に立ち往生しています。今まで私の質問で編集した内容を編集します。 – kishu27

+1

いいえ、断片の中に断片を入れることはできません。悪いことが起こると、子犬は – Blundell

答えて

1

任意のヘルプ、リソース、例えば、又はその断片内の断片を置くために利用可能なチュートリアルはありますか?

フラグメント内のフラグメントはサポートされていません。

フラグメント内のフラグメントは、Android 4.2以降およびAndroidサポートパッケージのフラグメントのバックポートを介してサポートされています。私はまだ可能な限り避けるようにしています。

私は、アクションバーのナビゲーションタブを使用して2つのタブを設定しています。これは本質的にフラグメントです。

あなたはこれを選択しました。 には、フラグメントの使用が必要なアクションバータブについては何もありません。

+2

ありがとうございました。実際にはhttp://developer.android.com/guide/topics/ui/actionbar.html#Tabsに続き、私はフラグメントを使用する必要があります。あなたは私が断片を使わない方法を学ぶことができ、まだこれを行うことができる他のリソースを教えてもらえますか? – kishu27

+1

@ kishu27:「彼らは私がフラグメントを使用しなければならないと言っている」 - それはドキュメントの良いビットではなく、私はまもなくバグレポートを提出します。 「断片を使わない方法を学ぶことができ、まだこれを行うことができる他のリソースを教えてもらえますか? - 'TabListener'コールバックメソッドに渡された' FragmentTransaction'を無視し、UIを更新するために何か他のことをします。 – CommonsWare

+2

@ kishu27 API 17 4.2からJelly Bean、ネストされたフラグメントを行うことができます。ここでは、ネストされたフラグメントのAndroid開発者への[link](http://developer.android.com/about/versions/android-4.2.html#NestedFragments)です。 – Adam

0

私はこの問題を解決しました。サポートライブラリとViewPagerを使用できます。ジェスチャーでスワイプする必要がない場合は、スワイプを無効にすることができます。だからここに私の解決策を改善するためのいくつかのコードです:

public class TestFragment extends Fragment{ 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.frag, container, false); 
    final ArrayList<Fragment> list = new ArrayList<Fragment>(); 

    list.add(new TrFrag()); 
    list.add(new TrFrag()); 
    list.add(new TrFrag()); 

    ViewPager pager = (ViewPager) v.findViewById(R.id.pager); 
    pager.setAdapter(new FragmentPagerAdapter(getActivity().getSupportFragmentManager()) { 
     @Override 
     public Fragment getItem(int i) { 
      return list.get(i); 
     } 

     @Override 
     public int getCount() { 
      return list.size(); 
     } 
    }); 
    return v; 
} 

}

P.S.Itは、テストのために醜いコードですが、それはそれが可能であることを改善します。

関連する問題