Android 数据绑定一个LiveData的多个输入
我正在编写一个用于创建琐事问题的应用程序。创建一组琐事问题是通过一个简单的表单完成的,标题是一个EditText,然后是每个问题的成对EditText列表及其提示和答案。我了解如何为单个EditText执行双向数据绑定,但我不确定在这种情况下如何执行,因为我想为每个问题的提示和回答EditText实现双向绑定 每个问题都有提示和答案:Android 数据绑定一个LiveData的多个输入,android,data-binding,viewmodel,android-livedata,android-jetpack,Android,Data Binding,Viewmodel,Android Livedata,Android Jetpack,我正在编写一个用于创建琐事问题的应用程序。创建一组琐事问题是通过一个简单的表单完成的,标题是一个EditText,然后是每个问题的成对EditText列表及其提示和答案。我了解如何为单个EditText执行双向数据绑定,但我不确定在这种情况下如何执行,因为我想为每个问题的提示和回答EditText实现双向绑定 每个问题都有提示和答案: data class Question( val prompt: String, val answer: String ) 每个琐事都有一个标题和一组问
data class Question(
val prompt: String,
val answer: String
)
每个琐事都有一个标题和一组问题:
data class Trivia(
val title: String,
val questions: List<Question>
)
数据类琐事(
val标题:字符串,
val问题:列表
)
My Android ViewModel获取持久化的琐事,并将其作为LiveData公开以进行数据绑定:
class EditTriviaViewModel : ViewModel() {
val title = MutableLiveData<String>()
val questions = MutableLiveData<List<Question>>() // or List<MutableLiveData<Question>>?
...
}
class EditTriviaViewModel:ViewModel(){
val title=MutableLiveData()
val questions=MutableLiveData()//还是列表?
...
}
我知道如何绑定标题输入:
<EditText
android:text="@={viewModel.title}"
... />
但我不知道如何绑定每个问题的输入,以便在键入每个问题的提示或答案时更新ViewModel。到目前为止,我只有一个问题布局文件,其中包含两个垂直堆叠的文本