Я использую привязки данных библиотеки и я получил его так для, но есть вопросы, которые я cant't кажется get.For стартеровпривязка данных не работает Android
Это часть моего макета XML activity_login. XML
<data>
<variable
name="viewModel"
type="com.ViewModel.LoginViewModel" />
</data>
<EditText
android:id="@+id/edit_text_username_register"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/username"
android:imeOptions="actionNext"
android:inputType="text"
android:textSize="15sp"
android:theme="@style/EditTextTheme"
app:addTextChangedListener="@{viewModel.getUsername}" />
И мой ViewModel содержит
public TextWatcher getUsername() {
return new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
Log.i("username", s.toString());
}
@Override
public void afterTextChanged(Editable s) {
}
};
}
выше код для извлечения имени пользователя, как пользователь types.Is, что правильный способ использования привязки или данных я делаю неправильно? Вышеуказанный код работает отлично. Проблема заключается в том, когда я пытаюсь сделать это так, как я нашел в Интернете, что является добавление
android:addTextChangedListener="@{viewModel.getUsername}"
это не работает, и я получаю предупреждение о том, неизвестный атрибут, и если я пытаюсь компиляции я получаю привязки делает не существует ошибки. Я также использую радиогруппу, содержащую 2 переключателя, и я хотел бы выбрать, какой из них был выбран с использованием databinding.I нашел онлайн-источники, которые используют android: onCheckedChanged, который я пытался использовать, но я снова получаю сообщение об ошибке существует и неизвестный атрибут
сообщения вашей ошибки, а также. Особенно в той части, где говорится * неизвестный атрибут *. Возможно, вместо этого используется только 'viewModel.username'. – tynn