Java Android从多个EditText到一个类创造价值?

Java Android从多个EditText到一个类创造价值?,java,android,kotlin,android-livedata,android-databinding,Java,Android,Kotlin,Android Livedata,Android Databinding,我使用的是数据绑定,当用户填写多个编辑文本时,我试图创建一个带有值的类,同时还要进行一些验证 这门课有点像 data class Person( var name: String, var age: Int, var email: String ) 视图模型变量 val person: MutableLiveData<Person> by lazy { MutableLiveData<Person>()} 然后打印出D/debug:null:

我使用的是数据绑定,当用户填写多个编辑文本时,我试图创建一个带有值的类,同时还要进行一些验证

这门课有点像

data class Person(
    var name: String,
    var age: Int,
    var email: String
)
视图模型变量

val person: MutableLiveData<Person> by lazy { MutableLiveData<Person>()}
然后打印出
D/debug:null:

我正在尝试在验证后创建房间实体。我怎样才能做到这一点呢?

你可以这样做

val person: Person by lazy { Person("","","")}
然后在
onclicklistener

binding.savebtn.setOnClickListener {
    Log.d("debug", "${viewModel.person.name},${viewModel.person.email}")
}
您将获得这些值,但问题是,当您在模型中更改值时,它不会反映在
EditText
中,因为这些对象是纯
字符串
对象,而不是
livedata
可观察字段


让我们这样做,
viewModel.person.name=“custom name”
它不会更改
EditText
中的文本如果您的目标是只将键入的文本直接输入模型,那么这将为您提供帮助。

这就是您正在寻找的内容,请查看下面的答案,我希望您会对此表示感谢。
val person: Person by lazy { Person("","","")}
binding.savebtn.setOnClickListener {
    Log.d("debug", "${viewModel.person.name},${viewModel.person.email}")
}