J'essaie la fonction de liaison de données pour Android et il semble que les champs Observable ne propagent pas la modification à l'interface utilisateur.
Si je prolonge le BaseObservable
tout fonctionne comme prévu, mais lorsque je passe à la classe ObservableBoolean
o ObservableField
les données changent mais elles ne sont pas propagées à l'interface utilisateur.
le modèle
public class User {
public final ObservableBoolean tapped = new ObservableBoolean(false);
public boolean isTapped() {
return tapped.get();
}
public void setTapped(boolean tapped) {
this.tapped.set(tapped);
}
}
la mise en page
<layout
<data>
<variable
name="user"
type="User"/>
....
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@{user.tapped ? @color/colorAccent : @color/white}"
android:onClick="@{() -> user_holder.onClickTest(user)}">
......
</LinearLayout>
</layout>
Des idées ?