无法将搜索数据从 ViewModel 获取到 Activity Kotlin

Can't get search data from ViewModel to Activity Kotlin

我正在尝试将我的数据从我的 ViewModel 获取到我的 MainActivity。

我知道我在我的 MainActivity 中所做的是非常错误的,但我似乎无法以将数据获取到 MainActivity 的方式对其进行配置。这只是一个简单的字符串。

ViewModel

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

查看模型

您可以使用 LiveData 始终获取 Activity

中的最新数据
var searchTerm = MutableLiveData("")
fun setSearchTerm(query: String){
    searchTerm.value = query
}

主要Activity

观察每次有数据变化时它总是运行

viewModel.searchTerm.observe(this){
     Log.e("tag", it)
}

如果你想在不观察的情况下手动获取数据,你可以这样做

var data = viewModel.searchTerm.value