AlertDialog.Builder如何访问'PositiveButton'?

时间:2011-09-04 18:13:43

标签: android

我正在使用AlertDialog.Builder创建一个包含EditText和两个按钮'OK''Cancel'的对话框。我分别用AlertDialog.Builder.setPositiveButton().setNegativeButton()创建了“确定”和“取消”按钮。对话框的目的是请求I.P.来自用户的地址。

最初我想要禁用“确定”按钮并附加到EditTextOnKey listener,以便在用户键入onKey时调用侦听器并且我可以检查当前的EditText值使用有效IP地址的正则表达式。如果输入了有效的IP地址,那么我想启用OK按钮,但是当我使用setPositiveButton()时,我不知道按钮的ID是什么。

我可以获得确定按钮的ID吗?

1 个答案:

答案 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

                }});