2012-03-13 7 views
2

FragmentonCreateに動的に追加するFragmentActivityがあります。私はFragmentListFragmentより上にしたいと思います。もちろん、私が試した最初のことは、1つのフラグメントがにあるLinearLayoutでしたが、ListFragmentは一度に1つの行しか表示しませんでした。ListFragmentのヘッダにフラグメントのビューを埋め込む方法

私はScrolling 2 fragment (one Fragment and one ListFragment) as oneを見つけましたが、Fragmentの親ビューを取得してListFragmentのヘッダービューに追加する方法はわかりません。 とfragment.getView().getParent()を呼び出すと明らかにNPEを取得します。なぜなら、まだ私の活動のonCreateにいるので、ビューはまだ初期化されていないからです。

FragmentListFragmentの上に配置するにはどうすればよいですか?

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" > 

     <fragment 
      android:id="@+id/content" 
      android:name="your.fragment.YourFragment" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" /> 

    </FrameLayout> 

をそして、あなたのListFragmentで、そのように、ヘッダーとしてこのレイアウトを追加します:

答えて

2

はそうのように、あなたの最初のフラグメントを含むレイアウトを作成します

View header = inflater.inflate(R.layout.widget_user_fragment, null, false); 
getListView().addHeaderView(header, null, true); 
+0

ありがとうございました!私はこれをListListの 'setListAdapter'の前に置いています。私は 'LayoutInflater.from(getActivity())'を使用してインフレータを取得しました。私はまた、いくつかの引数を使ってViewを作成するために、既にそこにある代わりに、フラグメントをフラグメントに '追加 'しなければなりませんでした。 – jmgrosen

+1

LayoutInflaterが必要な場合は、 'getActivity()。getLayoutInflater()';)を呼び出すことができます。 – BoD

関連する問題