【发布时间】:2021-11-04 02:06:00
【问题描述】:
我正在尝试将我的数据从我的 ViewModel 获取到我的 MainActivity。
我知道我在MainActivity 中所做的事情是非常错误的,但我似乎无法以将数据导入 MainActivity 的方式对其进行配置。这只是一个简单的字符串。
视图模型
class MovieSearchViewModel : ViewModel() {
var searchTerm = ""
fun getSearchTerm(query: String) {
searchTerm = query
}
}
MainActivity
open class MainActivity : AppCompatActivity() {
private val viewModel: MovieSearchViewModel by viewModels()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
var searchTerm = viewModel.searchTerm
}
}
【问题讨论】:
-
字符串的数据在哪里?
getSearchTerm应该重命名为setSearchTerm,因为它是一个 setter 函数。并使用设置数据所需的数据调用它。 -
数据来自fragment中的一个搜索栏,然后传递给ViewModel,需要去MainActivity。
-
您正在获取有关活动
onCreate的数据。所以数据可能不会在那个时候设置。您必须使用 LiveData 从 ViewModel 获取更新的数据 -
是的,我一直在玩这个。我会继续努力的。