Android 带有负按钮的对话框片段

Android 带有负按钮的对话框片段,android,android-dialogfragment,Android,Android Dialogfragment,我想在我的应用程序中创建一个关于对话框,我希望它有默认对话框的按钮,我决定使用DialogFragment,所以我这样做 public class AboutDialog extends DialogFragment { public AboutDialog() { // Empty constructor for fragment } @Override @NonNull public Dialog onCreateDialog(Bundle savedInstanceState)

我想在我的应用程序中创建一个关于对话框,我希望它有默认对话框的按钮,我决定使用DialogFragment,所以我这样做

public class AboutDialog extends DialogFragment {

public AboutDialog() {
    // Empty constructor for fragment
}

@Override
@NonNull
public Dialog onCreateDialog(Bundle savedInstanceState) {
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setTitle("About");
    builder.setNegativeButton("Close", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            dismiss();
        }
    });
    return builder.create();
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.about_dialog, container);
    getDialog().setTitle(getString(R.string.action_about));
    return rootView;
}
AboutDialog about = new AboutDialog();
        about.show(getSupportFragmentManager(), null);
}

然后从这样的活动中调用它

public class AboutDialog extends DialogFragment {

public AboutDialog() {
    // Empty constructor for fragment
}

@Override
@NonNull
public Dialog onCreateDialog(Bundle savedInstanceState) {
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setTitle("About");
    builder.setNegativeButton("Close", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            dismiss();
        }
    });
    return builder.create();
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.about_dialog, container);
    getDialog().setTitle(getString(R.string.action_about));
    return rootView;
}
AboutDialog about = new AboutDialog();
        about.show(getSupportFragmentManager(), null);
然后我得到了这个错误

android.util.AndroidRuntimeException: requestFeature() must be called before adding content

如何解决此问题?

请您也发布活动代码。活动的具体内容是什么?这是在OnOptions ItemSelected中调用的,不创建活动的代码为什么需要这样做?问题在于DialogFragment@Pravin尝试过了,但仍然以相同的错误崩溃
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    // Use the Builder class for convenient dialog construction
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    LayoutInflater inflater = getActivity().getLayoutInflater();
    builder.setView(inflater.inflate(R.layout.about_dialog, null));
    builder.setMessage("Test")
           .setPositiveButton("fire", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                   // FIRE ZE MISSILES!
               }
           })
           .setNegativeButton("cancel", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                   // User cancelled the dialog
               }
           });
    // Create the AlertDialog object and return it
    return builder.create();
}

remove your onCreateView