相关疑难解决方法(0)

如何清除LiveData存储值?

根据LiveData文档:

LiveData类具有以下优点:

...

始终是最新数据:如果生命周期再次启动(如从后端堆栈返回到启动状态的活动),它将收到最新的位置数据(如果尚未生成).

但有时候我不需要这个功能.

例如,我在ViewModel中跟随LiveData,在Activity中跟踪Observer:

//LiveData
val showDialogLiveData = MutableLiveData<String>()

//Activity
viewModel.showMessageLiveData.observe(this, android.arch.lifecycle.Observer { message ->
        AlertDialog.Builder(this)
                .setMessage(message)
                .setPositiveButton("OK") { _, _ -> }
                .show()
    })
Run Code Online (Sandbox Code Playgroud)

现在每次旋转后都会出现旧的对话框.

有没有办法在处理后清除存储的值或者根本没有使用LiveData?

android android-livedata android-architecture-components

36
推荐指数
4
解决办法
2万
查看次数