我想禁用对话框上的正面按钮,但我无法。这是我的对话框:
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle(R.string.delete_db_on_exit)
.setCustomTitle(getLayoutInflater().inflate(R.layout.custom_dialog, null))
.setPositiveButton(R.string.confirm_button_text, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
_application.setDeleteDatabaseOnExit();
dialog.cancel();
//Navigate back to main activity
}
})
.create();
dialog.getButton(dialog.BUTTON_POSITIVE).setEnabled(false);
dialog.show();
即使我只是设置了Positive按钮,当我引用它时,我得到一个空指针异常。这是因为我引用它的地方吗?对话框中是否有重大更改未在其文档中注明?
我注意到我无法做他们在当前documentation中所记录的任何事情。
答案 0 :(得分:0)
我从您的问题中理解的是 :: 您正尝试在对话框中取消单击肯定按钮的对话框。
而不是 ::
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle(R.string.delete_db_on_exit)
.setCustomTitle(getLayoutInflater().inflate(R.layout.custom_dialog, null))
.setPositiveButton(R.string.confirm_button_text, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
_application.setDeleteDatabaseOnExit();
dialog.cancel();
//Navigate back to main activity
}
})
.create();
dialog.getButton(dialog.BUTTON_POSITIVE).setEnabled(false);
dialog.show();
试试这个 ::
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle(R.string.delete_db_on_exit)
.setCustomTitle(getLayoutInflater().inflate(R.layout.custom_dialog, null))
.setPositiveButton(R.string.confirm_button_text, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
}
})
.create();
dialog.getButton(dialog.BUTTON_POSITIVE).setEnabled(false);
dialog.show();
也请在对话框调用后放置代码....
_application.setDeleteDatabaseOnExit();
//Navigate back to main activity
我认为您无法将其置于对话框按钮操作中(如果可能,请使用标记) 希望它有所帮助!
答案 1 :(得分:0)
我需要在getButton(AlertDialog.BUTTON_POSITIVE)
dialog.show()
FROM:
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
dialog.show();
TO:
dialog.show();
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);