我是MVVM
架构的新手。我从viewmodel
中的db获取数据,现在我想将该数据设置为activity
中的EditTexts
class EmployeeViewModel : BaseViewModel<EmployeeNavigator>() {
var userList = ArrayList<EmployeeResponse>()
var mName = MutableLiveData<EmployeeResponse>()
fun fetchUsersAndSaveInDB(toString: String) {
dialogMessage.value = "Fetching Data..."
dialogVisibility.value = true
mDisposable.add(DataProvider.fetchUsersAndSave(Consumer {
getUsersFromDB()
}, Consumer {
checkError(it)
}, toString))
}
private fun getUsersFromDB() {
mDisposable.add(DataProvider.getUsersFromDb(Consumer {
dialogVisibility.value = false
userList = it as ArrayList<EmployeeResponse>
mName.value = userList[0]
}, Consumer { checkError(it) }))
}
}
字符串
我在mName
对象中得到了数据,现在我想将此数据设置为activity
中的edittexts。我该如何实现这一点?
3条答案
按热度按时间2w2cym1i1#
这里有更多的Kotlin方法。
添加此依赖项可使observe函数看起来更短
字符串
如果你只有一个函数参数,你不需要在大括号内传递它。在
Activity
中,您可以执行以下操作:型
同样,在Kotlin style guidelines之后,如果使用
kotlinx.android.synthetic
,最好使用camelCase命名布局ID(在这种情况下允许匈牙利符号)。你也可以删除变量的前缀m。在所有这些之后,您的代码看起来像这样:
型
ca1c2owp2#
字符串
在Activity中编写此代码,并能够将数据设置为EditText
v8wbuo2f3#
在活动中,请执行以下三个步骤:
1.在Activity中声明ViewModel。
字符串
1.初始化视图模型:
型
1.从ViewModel观察数据:
型
另外,在你的viewmodel方法中,你没有提到你到底想要观察什么。
视图模型演示
型
让我知道,如果仍然需要任何帮助,也可以看看下面的演示,如果需要的。