Android Edittext onclick侦听器是如何工作的?

Android Edittext onclick侦听器是如何工作的?,android,android-edittext,Android,Android Edittext,我想做一个活动来检查电话号码的有效性。这里我有一个文本视图,显示一个字符串“+91”和一个编辑文本,我们可以在其中输入电话号码。 我已作出以下声明:-- 此代码工作正常..并显示结果..我的要求是,当我在edittext中输入电话号码时,它将自动显示验证。意味着在我的代码中,我使用一个按钮检查验证。我希望此验证作为edittext。我现在要做的是???您可以对该edittext使用onKeyListener,检查按键是否为Enter,验证号码 代码片段: ed.setOnKeyListener(

我想做一个活动来检查电话号码的有效性。这里我有一个文本视图,显示一个字符串“+91”和一个编辑文本,我们可以在其中输入电话号码。 我已作出以下声明:--


此代码工作正常..并显示结果..我的要求是,当我在edittext中输入电话号码时,它将自动显示验证。意味着在我的代码中,我使用一个按钮检查验证。我希望此验证作为edittext。我现在要做的是???

您可以对该edittext使用
onKeyListener
,检查按键是否为Enter,验证号码

代码片段:

ed.setOnKeyListener(new OnKeyListener() {
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if(keyCode == KeyEvent.KEYCODE_ENTER) {
            validateNumber(ed.getText().toString())
        }
        return false;
    }
});
您也可以使用


希望这有帮助。

Great:)@Arijittara Happy coding:)@Dhruti,我有一个问题..在你上面的代码中,keyCode==KeyEvent.keyCode\u ENTER…当我按屏幕键盘的ENTER键时,它就工作了。如果我按活动中的任何地方,它就不会显示结果。
如果我按活动中的任何地方
意味着什么@ArijitPatra何时验证?意思是,当我点击编辑文本时,屏幕上的键盘会出现,我输入电话号码,然后当我点击“完成”时,它会显示电话号码是否有效。。但是如果我不按done就按屏幕上的任何地方,那么它就不会显示结果。是的,软keyboard@ArijitPatra软键盘的“完成”键?为此,请尝试KeyEvent.FLAG\u编辑器\u操作
  youredittext.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {

            //put your validation code here
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {


        }

        @Override
        public void afterTextChanged(Editable s) {


        }
    });
  youredittext.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {

            //put your validation code here
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {


        }

        @Override
        public void afterTextChanged(Editable s) {


        }
    });