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}")
}