我在我的应用程序中使用v7支持AppCompatDialogFragment
import android.support.v7.app.AppCompatDialogFragment;
public class LoginDialogFragment extends AppCompatDialogFragment {
}
在整个应用中,我使用的是默认Fragment
和FragmentManager
以及不 android.support.v4.app.Fragment
或adroid.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");
现在如何显示对话?
答案 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)