Tag: observer pattern

数据绑定和BaseObserver – Android MVVM

我有一个数据绑定到一个视图模型的文本框,就像这里的XML一样,我希望UI在点击cardView时更新txtProvider字段。 我应该如何通知我的viewmodel视图的变化? <layout xmlns:bind="http://schemas.android.com/tools"> <data> <variable name="viewmodel" type="io.leapingwolf.myapp.viewmodel.MyViewModel"/> <variable name="myModel" type="io.leapingwolf.myapp.models.MyModel"/> </data> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:id="@+id/cardView" app:cardCornerRadius="5dp" app:cardUseCompatPadding="true" android:onClick="@{viewmodel.onClickModel}"> <TextView android:id="@+id/txtProvider" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:text="@{myModel.provider}" android:textColor="@android:color/black" android:textSize="15sp" /> </android.support.v7.widget.CardView> </layout> 在MyViewModel(它扩展BaseObserver类),我有 fun onClickModel() : View.OnClickListener { val viewOnClick = View.OnClickListener { v -> myModel!!.provider = "name changed" notifyPropertyChanged(BR.myModel) Toast.makeText(context,"clicked:" + myModel!!.provider […]