Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 数据绑定一个LiveData的多个输入_Android_Data Binding_Viewmodel_Android Livedata_Android Jetpack - Fatal编程技术网

Android 数据绑定一个LiveData的多个输入

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 ) 每个琐事都有一个标题和一组问

我正在编写一个用于创建琐事问题的应用程序。创建一组琐事问题是通过一个简单的表单完成的,标题是一个EditText,然后是每个问题的成对EditText列表及其提示和答案。我了解如何为单个EditText执行双向数据绑定,但我不确定在这种情况下如何执行,因为我想为每个问题的提示和回答EditText实现双向绑定

每个问题都有提示和答案:

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。到目前为止,我只有一个问题布局文件,其中包含两个垂直堆叠的文本