我遵循了android的例子,但我有一个无法理解的错误:

void showDialog() {
    DialogFragment newFragment = MyAlertDialogFragment.newInstance();
    newFragment.show(fm, "alert");
}

public static class MyAlertDialogFragment extends DialogFragment {
    public static MyAlertDialogFragment newInstance() {
        MyAlertDialogFragment frag = new MyAlertDialogFragment();
        return frag;
    }

    public Dialog onCreateDialog(Bundle savedInstanceState) {
        return new AlertDialog.Builder(getActivity()).setTitle("test")
                .setMessage("bla bla bla").create();
    }
}

newFragment.show(fm, "alert");返回一个错误:
类型dialogfragment中的show方法(fragmentmanager,string)是
不适用于参数(fragmentmanager,string)
有人能帮我吗?

最佳答案

问题是,您需要使用支持包的FragmentManager,但在调用FragmentManager时使用的是本机getFragmentManager()。初始化变量时尝试调用getSupportFragmentManager()

07-24 09:37
查看更多