如何在具有焦点并按下任意键盘键时清除EditText

时间:2018-09-12 09:30:55

标签: android android-edittext keyboard

我试图在EditText具有焦点并且出现软键盘并且按下任何键时清理它。我正在使用OnFocusChangeListener方法检测EditText何时具有焦点,但是我不知道如何在同一方法中实现键盘事件。

有人可以帮助我吗?谢谢。亲切的问候

1 个答案:

答案 0 :(得分:1)

您还可以使用Editext的setOnFocusChangeListener

 private boolean isFirstTime = true;

    FIRST_EDITTEXT.addTextChangedListener(new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
              if(s.toString().length()>0 && isFirstTime ){
                FIRST_EDITTEXT.setText("");
                isFirstTime = false;
               }
        }

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

        @Override
        public void afterTextChanged(Editable s) {
        }
    });

现在,如果我们是 SECOND EditText的一员,我们将为 isFirstTime 布尔值(如下面的第一个EditText一样)。

 SECOND_EDITTEXT.addTextChangedListener(new TextWatcher() {
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {

                isFirstTime = true;

            }

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

            @Override
            public void afterTextChanged(Editable s) {
            }
        });