本文介绍了如何显示在一个DialogFragment现有ListFragment的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下问题:

我有一个已有的 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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-22 22:03