在XML中指定addTextChangedListener

时间:2013-12-03 03:12:31

标签: android

EditText是否有任何属性我可以指定TextChangedListener?我知道它有3种方法,所以我只想指定属性值,如下面的

 <EditText
     android:afterTextChanged="myAfterHandler"

但是我收到了编译错误。我可以以相同的方式添加点击监听器,所以我想知道文本改变了什么问题?

我知道我可以在Java代码中的某个时间获取视图并调用add listener,但这个解决方案看起来很难看。

3 个答案:

答案 0 :(得分:7)

Android&#39; Data Binding Library现在支持为视图的类中存在的setter生成xml属性。

如果您启用了数据绑定,那么您需要做的就是使用app命名空间(不要忘记声明命名空间),所以类似app:addTextChangedListener="@{someobject.textwatcherfield}"

答案 1 :(得分:0)

使用TextWatcher ..

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

                // TODO Auto-generated method stub
            }

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

                // TODO Auto-generated method stub
            }

            @Override
            public void afterTextChanged(Editable s) {

                // TODO Auto-generated method stub
            }
        });

答案 2 :(得分:0)

您可以在xml文件中指定TextChangedListener的此类属性。

您必须将textchangedListener添加到Java类的edittext中,如本文的另一个答案中所述。

您可以在xml文件中为您的视图提供onclick属性。

您可以询问是否有任何进一步的疑问:)