双向数据绑定屏幕方向更改更改值

时间:2019-06-07 12:41:28

标签: android android-room android-databinding android-livedata

我正在使用双向数据绑定。 我的会议室数据库中有一些数据,这取决于用户在edittext中写的内容,从而在textview中显示该值。

旋转屏幕时,值会更新。拳头空字符串,然后回到原来的样子。我知道这是活动生命周期的正常行为。

所以我想知道摆脱这个问题的最佳方法。

谢谢。

EditText:

        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:ems="10"
            android:id="@+id/edtOddelek"
            android:text="@={viewModel.loginOddelek}"
            android:layout_marginEnd="8dp" app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="@+id/textView3"
            app:layout_constraintBottom_toBottomOf="@+id/textView3"
            app:layout_constraintStart_toStartOf="@+id/edtGeslo" style="@style/adoEditTextStyle"/>

TextView:

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:id="@+id/txtOddelek"
            android:layout_marginTop="8dp"
            android:text="@{viewModel.oddelek}"
            app:layout_constraintStart_toStartOf="parent" android:layout_marginStart="12dp"
            android:textColor="@color/orangeDark"
            app:layout_constraintTop_toBottomOf="@+id/edtOddelek"
            app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="12dp"/>

ViewModel:

val loginOddelek = NonNullMutableLiveData<String>("")

val oddelek:LiveData<String> = Transformations.switchMap(loginOddelek){
    settingsModel.getSifrPr(it)
}

0 个答案:

没有答案