问题描述
我有以下问题:
我有一个已有的 ListFragment
,但我想,以显示这是一个对话框。
I have an exisiting ListFragment
, but I would like to display this as a dialog.
我的第一个方法是创建一个 DialogFragment
这也在 ListFragment
在它的内部,但appearently它是目前不可能放置片段的片段。
My first approach was to create a DialogFragment
which has to ListFragment
inside of it, but appearently it is currently not possible to put fragments in fragments.
扩展,因为大量使用 DialogFragment 而不是 ListFragment
也是不可能的, > ListFragment 的方法。
Extending DialogFragment
instead of ListFragment
is also not possible, because of the heavy use of ListFragment
methods.
有没有一种简单的方法来做到这一点?
Is there an easy way to do this?
推荐答案
什么工作对我来说是 - 1)为您的DialogFragment XML布局调用,让我们说, DialogFragmentwWithListFragment 指定ListFragment类
例如。 dialog_fragment_with_list_fragment.xml
What works for me is
1) in xml layout for your DialogFragment called, let's say, DialogFragmentwWithListFragment specify ListFragment class
E.g. dialog_fragment_with_list_fragment.xml :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/flContent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding = "10dp"
class="com.xxx.yyy.DialogFragmentwWithListFragment " />
</LinearLayout>
2)在 DialogFragmentwWithListFragment 膨胀的 dialog_fragment_with_list_fragment.xml
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.dialog_fragment_with_list_fragment, null);
}
3)调用 DialogFragmentwWithListFragment 作为常规DialogFragment:
3) invoke DialogFragmentwWithListFragment as regular DialogFragment:
DialogFragmentwWithListFragment dialogFragment = DialogFragmentwWithListFragment .newInstance();
dialogFragment.setRetainInstance(true);
dialogFragment.show(getFragmentManager(), "tag");
希望这有助于。
Hope, it helps.
这篇关于如何显示在一个DialogFragment现有ListFragment的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!