Android Studio 中 TextWatcher 属性名有些许的命名差异,可能导致代码编译不通过。在代码中,我们声明了 TextWatcher 的三个方法,分别是 beforeTextChanged、onTextChanged 和 afterTextChanged,但在 XML 中,属性名则被命名为:beforeTextChanged、onTextChanged 和 afterTextChanged,后面多了一个 android:. 这个小小的差异可造成编译失败。因此,我们需要保证代码和 XML 中的属性名一致。
例如,我们在 EditText 中添加 TextWatcher 监听器:
et_search.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
// do something
}
override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
// do something
}
override fun afterTextChanged(p0: Editable?) {
// do something
}
})
在 XML 中,我们应该写成
上一篇:AndroidStudioTextView文本选择处理程序图标位置
下一篇:androidstudioThe'kotlin-android-extensions'Gradlepluginisnolongersupported