-2

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

import android.support.v7.app.AppCompatDialogFragment;

public class LoginDialogFragment extends AppCompatDialogFragment {

}

在整个应用程序中,我使用的是默认值Fragment不是FragmentManager 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");

现在如何显示对话框?

4

2 回答 2

2

您不能将本机Fragment支持与AppCompatDialogFragment一起使用。实际上,如果您仔细检查 的导入AppCompatDialogFragment,您会发现它来自支持库。您必须使用getSupportFragmentManager()而不是getFragmentManager(). 喜欢

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

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

于 2016-02-08T13:23:07.837 回答
0

尝试这个:

public void show(@NotNull android.app.FragmentManager manager, java.lang.String tag)
于 2016-02-08T13:33:46.033 回答