我正在做一个应用程序,它有一个警报对话框.
现在我正在检查一些来自AlertDialog editTexts中的一些数据,对话框中的Positive按钮OnClick方法,但是如果从edittext字段获得的数据是正确的,对话框总是被忽略.
我们如何禁用此功能.
更新:
我正在从对话框中输入PIN码和确认PIN码,并在onPositive中点击我已经检查以验证引脚代码.
现在如果引脚代码匹配,那么它正在调用dialog.dismiss(),如果不匹配,则显示一个Toast.
我不想让它发生.
更多更新:
有没有什么办法,我将禁用OK按钮,当数据被验证将启用正按钮?
请帮忙
解决方法
这是诀窍(覆盖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(); } }); } });