Joa*_*kim 10 android android-edittext android-alertdialog
你如何禁用一个Android的肯定按钮AlertDialog的默认?
在用户对视图进行更改之前,希望禁用正按钮(在本例中为"保存")似乎是很正常的(在本例中为EditText.
我知道我可以通过调用来获取按钮,dialog.getButton(DialogInterface.BUTTON_POSITIVE)但如果show()尚未调用此调用将返回null .
rKr*_*hna 17
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setPositiveButton(android.R.string.ok, null);
AlertDialog dialog = builder.create();
dialog.setOnShowListener(new OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
if(condition)
((AlertDialog)dialog).getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
}
});
dialog.show();
Run Code Online (Sandbox Code Playgroud)
您必须调用 show() 才能访问警报对话框的按钮。因此,就在您在 alertDialog 上调用 show() 之后,您将获得否定按钮并将其设置为禁用,如下所示:
AlertDialog.Builder builder = new AlertDialog.Builder(getContext())
.setTitle("Title")
.setMessage("Message")
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
})
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
})
.setIcon(android.R.drawable.ic_dialog_alert);
AlertDialog d = builder.show();
d.getButton(AlertDialog.BUTTON_NEGATIVE).setEnabled(false);
Run Code Online (Sandbox Code Playgroud)
因此,默认情况下,它的否定按钮变为禁用状态。
| 归档时间: |
|
| 查看次数: |
7464 次 |
| 最近记录: |