Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android AlertDialog singleChoiceItem NullPointerException_Android_Android Alertdialog - Fatal编程技术网

Android AlertDialog singleChoiceItem NullPointerException

Android AlertDialog singleChoiceItem NullPointerException,android,android-alertdialog,Android,Android Alertdialog,嗨,我一直得到这个例外。下面是我的代码。请帮我解决这个问题: private void openDeleteCustomProfileDialog(String[] names) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(R.string.delete_profile_title); if (names.length > 0) { buil

嗨,我一直得到这个例外。下面是我的代码。请帮我解决这个问题:

private void openDeleteCustomProfileDialog(String[] names) {

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle(R.string.delete_profile_title);
    if (names.length > 0) {
    builder.setMessage(R.string.delete_no_custom_profile);
    builder.setCancelable(false);
    builder.setSingleChoiceItems(names, -1, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int which) {
            Toast.makeText(AudioFX.this, "which: " + which, Toast.LENGTH_LONG).show();
        }
    });

    builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int which) {
            dialogInterface.dismiss();
        }
    });
    builder.setPositiveButton(R.string.delete, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int which) {
            dialogInterface.dismiss();
        }
    });
    } else {
        builder.setMessage(R.string.delete_no_custom_profile);
        builder.setNegativeButton(R.string.done, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                dialogInterface.dismiss();
            }
        });
   }

    builder.create().show();
}
日志:

更改以下行:

发件人:

builder.setTitle(R.string.delete_profile_title);
builder.setMessage(R.string.delete_no_custom_profile);
builder.setTitle(getResources().getString(R.string.delete_profile_title));
builder.setMessage(getResources().getString(R.string.delete_no_custom_profile));
至:

builder.setTitle(R.string.delete_profile_title);
builder.setMessage(R.string.delete_no_custom_profile);
builder.setTitle(getResources().getString(R.string.delete_profile_title));
builder.setMessage(getResources().getString(R.string.delete_no_custom_profile));
编辑1:

builder.setTitle(R.string.delete_profile_title);
builder.setMessage(R.string.delete_no_custom_profile);
builder.setTitle(getResources().getString(R.string.delete_profile_title));
builder.setMessage(getResources().getString(R.string.delete_no_custom_profile));
确保没有任何
null
字符串[]名称

希望这将对您有所帮助。

更改以下行:

发件人:

builder.setTitle(R.string.delete_profile_title);
builder.setMessage(R.string.delete_no_custom_profile);
builder.setTitle(getResources().getString(R.string.delete_profile_title));
builder.setMessage(getResources().getString(R.string.delete_no_custom_profile));
至:

builder.setTitle(R.string.delete_profile_title);
builder.setMessage(R.string.delete_no_custom_profile);
builder.setTitle(getResources().getString(R.string.delete_profile_title));
builder.setMessage(getResources().getString(R.string.delete_no_custom_profile));
编辑1:

builder.setTitle(R.string.delete_profile_title);
builder.setMessage(R.string.delete_no_custom_profile);
builder.setTitle(getResources().getString(R.string.delete_profile_title));
builder.setMessage(getResources().getString(R.string.delete_no_custom_profile));
确保没有任何
null
字符串[]名称

希望这对您有所帮助。

更改此选项:

您正在尝试设置标题和消息,但未获取资源

builder.setTitle(R.string.delete_profile_title);
builder.setMessage(R.string.delete_no_custom_profile);

getresource
上使用
getString
,尤其是
context

builder.setTitle(context.getResources().getString(R.string.delete_profile_title));
builder.setMessage(context.getResources().getString(R.string.delete_no_custom_profile));
在AlertDialog的
setNegativeButton
setPositiveButton
setMessage
中执行此操作。

更改此项:

您正在尝试设置标题和消息,但未获取资源

builder.setTitle(R.string.delete_profile_title);
builder.setMessage(R.string.delete_no_custom_profile);

getresource
上使用
getString
,尤其是
context

builder.setTitle(context.getResources().getString(R.string.delete_profile_title));
builder.setMessage(context.getResources().getString(R.string.delete_no_custom_profile));
在警报对话框的
setNegativeButton
setPositiveButton
setMessage
中执行此操作。

使用

builder.setTitle(YOUR_CONTEXT.getString(R.string.delete_profile_title));
builder.setMessage(YOUR_CONTEXT.getString(R.string.delete_no_custom_profile));
使用



张贴堆栈跟踪pls@ianhanniballake请查看日志。我认为您正在使用尚未初始化的内容。发布堆栈跟踪pls@ianhanniballake请查看日志。我认为您正在使用尚未初始化的内容。@HirenPatel不要着急,我正在编辑我的答案,如果您能看到,我添加了说明和说明上下文对象太多。@HirenPatel尝试阅读所有代码bro作者在下面一行中也犯了错误,我也突出显示了这些。@HirenPatel若你们比较,你们不会发现任何重复的内容。为了更好地理解,你应该给出描述和答案,但你没有。@HirenPatel SO不是你选择的,兄弟,每个人都有发布唯一答案的自由。@HirenPatel这就是我saying@HirenPatel别着急,我正在编辑我的答案,如果你们能看到,我也添加了描述和上下文对象。@HirenPatel试着阅读所有代码兄弟的作者都在下面的一行中犯了错误,我也强调了这一点。@HirenPatel若你们比较,你们不会发现任何重复的内容。为了更好地理解,你应该给出描述和答案,但你没有。@HirenPatel SO不是你选择的,兄弟,每个人都有发布唯一答案的自由。@HirenPatel这就是我saying@rup35h,已编辑答案,请与编辑1核对。我发现问题Thanks@rup35h,它是什么?我传递的变量是Yeah
names
有一些长度问题。传球错了吗value@rup35h,已编辑答案,请与编辑1核对。我发现问题Thanks@rup35h,是什么?我传递的变量是Yeah
names
有一些长度问题。是否传递了错误的值