2012-03-13 30 views
2

我有一个FragmentActivity,我在onCreate中动态添加Fragment s。我想要一个Fragment高于ListFragment。当然,我尝试的第一件事是在一个ScrollView中的一个LinearLayout中的碎片,但是那么ListFragment将一次只显示一行。如何将片段视图嵌入到ListFragment的标题中

我发现Scrolling 2 fragment (one Fragment and one ListFragment) as one,但我不知道如何获得Fragment的父视图添加到ListFragment的标题视图。当我拨打fragment.getView()fragment.getView().getParent()时,我显然得到了NPE,因为我仍在我的活动的onCreate中,所以视图尚未初始化。

如何将Fragment放在ListFragment以上?

回答

2

创建一个包含你的第一个片段的布局,像这样:

<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,添加此布局的头,像这样:

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

谢谢!我把它放在我的ListFragment中的'setListAdapter'之前。我使用'LayoutInflater.from(getActivity())'来获得充气器。我还必须在布局中添加一个片段,而不是已经存在,以便使用某些参数创建视图。 – jmgrosen 2012-03-14 15:48:38

+1

如果你需要一个LayoutInflater,你可以调用'getActivity()。getLayoutInflater()';) – BoD 2012-04-13 09:46:42

相关问题