AlertDialog 问题

Issue with AlertDialog

我刚刚在我的 Android 应用程序中的一个片段中实现了一个 AlertDialog,它导致我的应用程序在显示时崩溃。

关于为什么会这样有什么想法吗?

对话框

void addSiteOption() {

    String[] options = {"Auto", "Manual"};

    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity().getApplicationContext());
    builder.setTitle("Add");
    builder.setMessage("Auto add - download. \n Manually add - no internet connection.");
    builder.setItems(options, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int selectionIndex) {

            switch (selectionIndex)
            {
                case 0:
                    break;

                case 1:
                    break;
            }
        }
    });
    builder.show();
}

错误:

E/AndroidRuntime: FATAL EXCEPTION: main
android.content.res.Resources$NotFoundException: Resource ID #0x0

你在这里得到 Application context 但你需要得到呼叫 activity's context。所以改变你的代码

来自这里:

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity().getApplicationContext());

为此:

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
Context=container.getContext();

private void showAlert() {


            AlertDialog.Builder builder = new AlertDialog.Builder(context);
            builder.setMessage("Are you sure to clear  history?");
            builder.setPositiveButton("sure", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {

                }
            });
            builder.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                }
            });

            AlertDialog alert = builder.create();
            alert.show();

    }