J'utilise la bibliothèque de liaison de données et je l'ai eu ainsi pour, mais il y a des questions que je cant't semblent get.For commencerLiaison de données ne fonctionne pas Android
Ceci est une partie de ma mise en page 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}" />
et mon ViewModel contient
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) {
}
};
}
le code ci-dessus est de chercher le nom d'utilisateur que l'utilisateur types.Is que la bonne façon d'utiliser la liaison de données ou que je fais mal? ci-dessus le code fonctionne parfaitement. Le problème est quand j'essaie de le faire de la façon dont je l'ai trouvé en ligne qui est en ajoutant
android:addTextChangedListener="@{viewModel.getUsername}"
il ne fonctionne pas et je reçois un avertissement disant attribut inconnu et si je tente le compiler i obtenir une liaison de données ne n'existe pas d'erreur.Je suis aussi en utilisant un radiogroup contenant 2 boutons radio et je voudrais chercher lequel a été sélectionné en utilisant la liaison de données.J'ai trouvé des sources en ligne qui utilisent android: onCheckedChanged que j'ai essayé d'utiliser mais je reçois une erreur existence et attribut inconnu
Postez votre erreur aussi bien. Surtout la partie où il est dit * attribut inconnu *. Peut-être utilise-t-il 'viewModel.username' à la place. – tynn