Я реализовал привязку данных в простом приложении для покупок, которое я сделал.Всякий раз, когда я добавляю товар в корзину, значения RelativeLayout
и двух TextView
внутри него обновляются (особенно цвет и фон).Вы можете получить лучшее представление о том, что я делаю, если я покажу вам это:
<RelativeLayout
android:id="@+id/shopping_cart"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@{shoppingCart.isActive ? @color/lightBlue : @color/grey }"
android:padding="13dp"
android:onClick="buy">
<TextView
android:id="@+id/cart_state"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{shoppingCart.state}"
android:textSize="20sp"
android:textStyle="bold"
android:layout_marginStart="40dp"
android:textColor="#fff"
android:layout_centerHorizontal="true"
/>
<TextView
android:id="@+id/cart_total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{String.valueOf(shoppingCart.totalPrice)}"
android:textSize="20sp"
android:textColor="#fff"
android:layout_marginStart="30dp"
android:layout_toEndOf="@id/cart_state"
android:gravity="end"
/>
</RelativeLayout>
Это на самом деле работает довольно хорошо!
Но есть проблема:
Если я хочу увидеть изменения, я должен начать новое действие и вернуться к «исходному» действию (например, если бы мне пришлось обновить действие, чтобы увидеть, как привязка данных работает своим волшебством).
Тем не менее, я бы действительно предпочел, чтобы я мог видеть, что изменения происходят немедленно, без необходимости обновлять или повторно открывать действие.
То есть, как я могу сделать так, чтобы изменения, применяемые связыванием данных, мгновенно отражались в пользовательском интерфейсе?