我正在使用双向数据绑定。 我的会议室数据库中有一些数据,这取决于用户在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)
}