我正在使用AlertDialog.Builder
创建一个包含EditText
和两个按钮'OK'
和'Cancel'
的对话框。我分别用AlertDialog.Builder.setPositiveButton()
和.setNegativeButton()
创建了“确定”和“取消”按钮。对话框的目的是请求I.P.来自用户的地址。
最初我想要禁用“确定”按钮并附加到EditText
和OnKey listener
,以便在用户键入onKey时调用侦听器并且我可以检查当前的EditText
值使用有效IP地址的正则表达式。如果输入了有效的IP地址,那么我想启用OK按钮,但是当我使用setPositiveButton()
时,我不知道按钮的ID是什么。
我可以获得确定按钮的ID吗?
答案 0 :(得分:3)
您不需要按钮的ID,您只需要实现DialogInterface.onClickListener()
在onKeyListener()中,如果字段填充了正确的输入,则添加一些测试
dialog.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(enabled);
对于OK按钮的单击侦听器。请记住,您需要在执行.getButton()
dialog.setPositiveButton("OK", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
//Do what you want when the user presses the Ok button
}});