我遵循了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()
。