小编Mj *_*hoi的帖子

如何使用 Single Live Event 在 Kotlin 中显示 toast

我想使用单个实时事件类来显示吐司(如标志)这是我尝试过的代码。我不想使用类似标志的 peding 。我如何解决它?

主视图模型

class MainViewModel(private val movieRepository: MovieRepository) : ViewModel() {
    val keyword = MutableLiveData<String>()
    val movieList = MutableLiveData<List<Movie>>()
    val msg = MutableLiveData<String>()
    val pending: AtomicBoolean = AtomicBoolean(false)

    fun findMovie() {
        val keywordValue = keyword.value ?: return
        pending.set(true)
        if (keywordValue.isNullOrBlank()) {
            msg.value = "emptyKeyword"
            return
        }
        movieRepository.getMovieData(keyword = keywordValue, 30,
            onSuccess = {
                if (it.items!!.isEmpty()) {
                    msg.value = "emptyResult"
                } else {
                    msg.value = "success"
                    movieList.value = it.items
                }
            },
            onFailure = {
                msg.value = "fail"
            }
        )
    } …
Run Code Online (Sandbox Code Playgroud)

android kotlin mutablelivedata

3
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×1

kotlin ×1

mutablelivedata ×1