通过执行以下操作显示警告对话框:
new AlertDialog.Builder(this)
.setTitle(R.string.label_searching)
.setMessage(R.string.label_search_noresults)
.setCancelable(false)
.setPositiveButton(DialogInterface.BUTTON_POSITIVE, null)
.create().show();
然而,抛出了这个异常:
致命的例外:主要 android.content.res.Resources $ NotFoundException:字符串资源ID#0xffffffff 在android.content.res.Resources.getText(Resources.java:242) 在android.content.Context.getText(Context.java:282) 在android.app.AlertDialog $ Builder.setPositiveButton(AlertDialog.java:487)
当我注释掉以下内容时:
.setPositiveButton(DialogInterface.BUTTON_POSITIVE, null)
显示对话框,但显然没有按钮显示。我需要在对话框中显示一个按钮!!
我做错了什么?
答案 0 :(得分:1)
相应地使用
AlertDialog.Builder alertbox = new AlertDialog.Builder(YourActivity.this);
alertbox.setTitle("Do you want To exit ?");
alertbox.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
// finish used for destroyed activity
exit();
}
});
alertbox.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
// Nothing will be happened when clicked on no button
// of Dialog
}
});
alertbox.show();
答案 1 :(得分:-1)
我认为DialogInterface.BUTTON_POSITIVE
存在问题
您可以在here
答案 2 :(得分:-1)
DialogInterface.BUTTON_POSITIVE是一个常量,如果你检查DialogInterface类:
int BUTTON_POSITIVE = -1;
setPositiveButton方法接收textId或其争论的charsequence,这是将出现在positive按钮上的文本。 Android无法找到DialogInterface定义的-1 id的关联字符串。
我建议您在xml文件中定义正面按钮文本,就像使用标题和消息标签一样,并在第一个参数上使用它。
答案 3 :(得分:-1)
private void createAlertDialog() {
AlertDialog.Builder alrtDialog = new AlertDialog.Builder(
this);
alrtDialog.setMessage("your message").setCancelable(false);
alrtDialog.setPositiveButton("ButtonName",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Do somthing
}
});
alrtDialog.setNeutralButton(R.string.cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//Do somthing
}
});
alrtDialog.create();
alrtDialog.show();
}
答案 4 :(得分:-1)
你需要获得类似这样的字符串ID。
new AlertDialog.Builder(this)
.setTitle(getResources().getString(R.string.label_searching))
.setMessage(getResources().getString(R.string.label_search_noresults))
.setCancelable(false)
.setPositiveButton(DialogInterface.BUTTON_POSITIVE, null)
.create().show();