How to embed view of Fragment in the header of a ListFragment

余生长醉 提交于 2019-12-08 03:30:47

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!