问题
I have a FragmentActivity where I'm dynamically adding Fragments in my onCreate. I want a Fragment above a ListFragment. Of course, the first thing I tried was the fragments in one LinearLayout in one ScrollView, but then the ListFragment would only show one row at a time.
I found Scrolling 2 fragment (one Fragment and one ListFragment) as one, but I don't know how to get the parent view of the Fragment to add to the header view of the ListFragment. I obviously get an NPE when call fragment.getView() and fragment.getView().getParent() because I'm still in the onCreate of my activity, so the views haven't been initialized yet.
How can I put a Fragment above a ListFragment?
回答1:
Create a layout that contains your first fragment, like so:
<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>
And then, in your ListFragment, add this layout as a header, like so:
View header = inflater.inflate(R.layout.widget_user_fragment, null, false);
getListView().addHeaderView(header, null, true);
来源:https://stackoverflow.com/questions/9677112/how-to-embed-view-of-fragment-in-the-header-of-a-listfragment