带有AlertDialog的问题

问题描述 投票:0回答:2

我刚刚在我的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
java android dialog android-alertdialog
2个回答
3
投票

您在这里得到Application context,但是您需要得到呼叫方activity's context。因此请更改代码

来自此:

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

为此:

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

0
投票
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();

    }
© www.soinside.com 2019 - 2024. All rights reserved.