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,是什么?我传递的变量是Yeahnames
有一些长度问题。是否传递了错误的值