簡體   English   中英

無法從 ViewModel 到 Activity Kotlin 獲取搜索數據

[英]Can't get search data from ViewModel to Activity Kotlin

我正在嘗試將我的數據從我的 ViewModel 獲取到我的 MainActivity。

我知道我在MainActivity所做的事情是非常錯誤的,但是我似乎無法以將數據導入 MainActivity 的方式對其進行配置。 這只是一個簡單的字符串。

視圖模型

class MovieSearchViewModel : ViewModel() {
    var searchTerm = ""

    fun getSearchTerm(query: String) {
        searchTerm = query
    }
}

主要活動

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
}

主要活動

觀察它總是在每次有數據更改時運行

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

或者

如果你想手動獲取數據而不觀察你可以這樣做

var data = viewModel.searchTerm.value

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM