Android 中 OnInputListener 的等价物是什么

What is the equivalent of OnInputListener in Android

我在 android 中有一个 editText,我想监听何时添加了输入或文本。

我正在动态设置文本,我想要这样一种情况,一旦完成,就会触发一个新事件。

 code.setText(savedcode);

code.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) {
                    Toast.makeText(Verification.this, "New Input" , Toast.LENGTH_SHORT ).show();
                }

                @Override
                public void afterTextChanged(Editable editable) {

                }
            });

我已经使用了文本观察器,但是当动态设置输入时它不会触发事件,除非我编辑该字段然后它会触发。我知道在 javascript 中,输入侦听器可以做到这一点,所以我正在寻找它的 android 等价物。谢谢

好吧,问题是你的代码似乎是正确的,唯一做错的是顺序。

实际上,您想知道 textView 的文本何时更改,但是您在向其添加文本之前更改了它。

所以合乎逻辑的方法是:

TextView TV;

TV = (TextView) rootView.findViewById(R.id.theID);

TV.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) {
                Toast.makeText(Verification.this, "New Input" , Toast.LENGTH_SHORT ).show();
            }

            @Override
            public void afterTextChanged(Editable editable) {

            }
        });

TV.setText(savedcode);

通过这种方式,一旦您真正拥有一个监听器,您就可以更改文本,而不是 before.That 应该可以解决您的问题。

P.S: 我不知道你是怎么声明你的textView的,不要介意变量名,暂时没有灵感。