Android - Dialog getSupportFragmentManager未定义

Pzt*_*tar 0 alert android dialog android-dialogfragment

我正在尝试在我的代码中实现一个简单的Dialog.但它不起作用.我搜索了每个可用的教程,包括官方的开发者指南,但没有任何作用.我从logcat得到的错误是我得到一个nullPointerException,我猜这是在getActivity上.有帮助吗?

这就是我所拥有的:这是我的自定义对话类.

公共类SaveDialog扩展DialogFragment {

public Dialog onCreateDialog(Bundle savedInstanceState) {
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setTitle("Save Password");
    builder.setView(getContentView());
    Dialog dialog = builder.create();
    dialog.show();
    return dialog;
}

private View getContentView() {
    LayoutInflater inflater = getActivity().getLayoutInflater();

    return inflater.inflate(R.layout.dialog, null);
}
}
Run Code Online (Sandbox Code Playgroud)

这是我发生onclick的主要活动

private void savePassword() {


    SaveDialog savePasswordDialog = new SaveDialog();
    savePasswordDialog.show(savePasswordDialog.getSupportFragmentManager(), "tag");

    }
Run Code Online (Sandbox Code Playgroud)

每次我启动onClick,应用程序崩溃.最重要的是,目前我正在尝试使用getSupportFragmentManager,但它说它未定义.

fed*_*aol 14

您应该使用getSupportFragmentManager(),它仅在FragmentActivity中可用.

您应该将活动更改为片段.

检查这个答案

  • getActivity().getSupportFragmentManager()如果我没记错的话 (4认同)

Deb*_*osh 7

试试这个..有效!!


((AppCompatActivity)activity).getSupportFragmentManager()
Run Code Online (Sandbox Code Playgroud)