使用show()方法显示support.v7.AppCompatDialogFragment时出错

时间:2016-02-08 13:21:52

标签: android android-support-library appcompatdialogfragment

我在我的应用程序中使用v7支持AppCompatDialogFragment

import android.support.v7.app.AppCompatDialogFragment;

public class LoginDialogFragment extends AppCompatDialogFragment {

}

在整个应用中,我使用的是默认FragmentFragmentManager以及 android.support.v4.app.Fragmentadroid.support.v4.app.FragmentManager

import android.app.Fragment;
import android.app.FragmentManager;

现在问题是我想通过调用方法

来显示Activity中的对话框
public void show(@NotNull android.support.v4.app.FragmentManager manager,
                 java.lang.String tag)

哪个不接受 android.app.FragmentManager作为参数。

所以我无法致电

LoginDialogFragment loginDialogFragment = new LoginDialogFragment();
loginDialogFragment.show(getFragmentManager(), "tag");

现在如何显示对话?

2 个答案:

答案 0 :(得分:2)

您无法使用AppCompatDialogFragment的原生Fragment支持。事实上,如果您仔细检查AppCompatDialogFragment的导入,您会发现它来自支持库。您必须使用getSupportFragmentManager()代替getFragmentManager()。像

loginDialogFragment.show(getSupportFragmentManager(), "tag");

AppCompat *中的所有内容都来自支持库

答案 1 :(得分:0)

试试这个:

public void show(@NotNull android.app.FragmentManager manager, java.lang.String tag)