在textview android中写入某些文本后启用Button Clickable

时间:2017-04-02 07:23:44

标签: android

我正在尝试构建一种登录方法,其中一个人必须编写特定域的电子邮件地址 例如rob@playground.football.in

现在我的意图是我的代码应该检查域名,例如playground.football.in然后如果它匹配那么现在应该只启用用于登录的按钮(在写入特定域之前禁用/不可点击)。

我完成了一半的工作。获得下面显示的域名

email = (EditText) findViewById(R.id.email); verify = (Button) findViewById(R.id.button); verify.setEnabled(false); String getEmail = email.getText().toString();
String x = getEmail.substring(getEmail.lastIndexOf('@') + 1);
if (x.equals(domain)) {
verify.setEnabled(true); 
}

1 个答案:

答案 0 :(得分:0)

使用TextChangedListenerEditText添加到您的电子邮件email.addTextChangedListener(),然后在onTextChanged()内查看。

这是工作代码。更新您的代码,如下所示:

    ..................
    .........................
    EditText email = (EditText) findViewById(R.id.email);
    Button verify = (Button) findViewById(R.id.button);
    verify.setEnabled(false);

    email.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            String getEmail = email.getText().toString();
            String x = getEmail.substring(getEmail.lastIndexOf('@') + 1);

            if (x.equals(domain)) { 
                verify.setEnabled(true); 
            }
        }

        @Override
        public void afterTextChanged(Editable editable) {

        }

    });
    ..............
    .....................

希望这会有所帮助〜