@George Mount прав, вы должны добавить обработчик в свой XML-макет, который определен в вашем классе Model или Handler (как бы вы его ни называли).
Посмотрите на мой ответ на этот вопрос для полноценного примера:
Двусторонняя привязка данных с помощью библиотеки привязки данных Android
Вот пример из этого ответа:
Пример:
public class AmanteEditModel extends BaseObservable {
private String senhaConfirm;
@Bindable
public String getSenhaConfirm() {
return senhaConfirm;
}
public void setSenhaConfirm(String senhaConfirm) {
this.senhaConfirm = senhaConfirm;
notifyPropertyChanged(BR.senhaConfirm);
}
// Textwatcher Reference: http://developer.android.com/reference/android/text/TextWatcher.html
public TextWatcher getMyEditTextWatcher() {
return new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
public void onTextChanged(CharSequence s, int start,
int before, int count) {
// Important! Use the property setter, otherwhise the model won't be informed about the change.
setSenhaConfirm(s);
}
};
}
}
В вашем макете xml измените EditText на это:
<EditText
android:id="@+id/amante_edit_senha_confirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="Confirme a senha"
android:inputType="textPassword"
android:maxLines="1"
android:text="@{model.senhaConfirm}"
app:addTextChangeListener="@{model.myEditTextWatcher}"
/>
Следите за пространством имен addTextChangeListener. Этот метод может быть недоступен через пространство имен android:, поэтому я использую app: здесь. Вы также можете использовать bind:, чтобы сделать привязку более понятной.
Так что не пропустите, чтобы добавить
xmlns:app="http://schemas.android.com/apk/res-auto"
or
xmlns:bind="http://schemas.android.com/apk/res-auto"
к вашим пространствам имен XML.
Это решение работает для всех элементов управления вводом, включая настраиваемые, при условии, что вы указали правильные прослушиватели в своей модели.
Справочник по TextWatcher
person
Jürgen 'Kashban' Wahlmann
schedule
28.07.2015