我正在制作一个应用程序,它有一个警报对话框.
现在我正在检查我从AlertDialog editTexts中获得的一些数据在对话框中的正按钮OnClick方法,但是如果从edittext字段获得的数据是否正确,则对话框始终关闭.
我们如何禁用此功能.
更新:
我从对话框中获取PIN码和确认PIN码,并在onPositive点击我已经检查以验证PIN码.
现在,如果pin代码匹配,则调用dialog.dismiss(),如果不匹配,则显示Toast.
但是如果pin代码不匹配,它会显示消息并关闭对话框.
我不希望这发生.
更多更新:
有没有什么办法可以禁用OK按钮,当数据被验证时,它会启用正按钮?
请帮忙
kin*_*mer 27
这是技巧(在onShowListener中覆盖onClickListener):
final AlertDialog d = new AlertDialog.Builder(context)
.setView(v)
.setTitle(R.string.my_title)
.setPositiveButton(android.R.string.ok,
new Dialog.OnClickListener() {
@Override
public void onClick(DialogInterface d, int which) {
//Do nothing here. We override the onclick
}
})
.setNegativeButton(android.R.string.cancel, null)
.create();
d.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
Button b = d.getButton(AlertDialog.BUTTON_POSITIVE);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// TODO Do something
//Dismiss once everything is OK.
d.dismiss();
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
帽。感谢您的帮助。通过您的指南,我知道我可以禁用警报对话框按钮。是的!可以禁用按钮。
答案是:
我们可以使用以下方法禁用该按钮:
Button pos = Dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
pos.setEnabled(true);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15133 次 |
| 最近记录: |