Android SavedStateHandle在ViewModel中不保存
创始人
2024-08-15 15:00:42
0

要解决Android SavedStateHandle在ViewModel中不保存的问题,你可以按照以下步骤进行操作:

  1. 在ViewModel类中创建一个SavedStateHandle对象,并将其作为ViewModel的构造函数参数之一。
class MyViewModel(private val savedStateHandle: SavedStateHandle) : ViewModel() {
    // ViewModel的其他代码...
}
  1. 在ViewModel中使用SavedStateHandle来保存和获取数据。
class MyViewModel(private val savedStateHandle: SavedStateHandle) : ViewModel() {
    private val dataKey = "myData"

    fun saveData(data: String) {
        savedStateHandle.set(dataKey, data)
    }

    fun getData(): String? {
        return savedStateHandle.get(dataKey)
    }
}
  1. 在Activity或Fragment中获取ViewModel实例,并使用ViewModel中的方法来保存和获取数据。
class MyActivity : AppCompatActivity() {
    private val viewModel: MyViewModel by viewModels()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // Activity的其他代码...

        val data = "Hello, SavedStateHandle!"
        viewModel.saveData(data)

        val savedData = viewModel.getData()
        Log.d(TAG, "SavedData: $savedData")
    }
}

在上述代码中,ViewModel中的SavedStateHandle对象会自动保存数据,以便在Activity或Fragment重建时恢复数据。你可以根据需求自定义数据的保存和获取逻辑。

相关内容

热门资讯

一分钟快速了解!微乐小程序麻将... 一分钟快速了解!微乐小程序麻将自建房辅助工具插件,微乐自建房脚本免费入口(开挂自建房)教程1、这是跨...
专业讨论!微乐自建房辅助工具神... 专业讨论!微乐自建房辅助工具神器,微乐小程序免费黑科技(开挂自建房)脚本1、微乐自建房辅助工具神器模...
大家学习交流!微乐家乡麻将自建... 大家学习交流!微乐家乡麻将自建房辅助app,微乐家乡麻将自建房辅助app(开挂自建房)教程1、该软件...
记者揭秘!微信雀神麻将挂件开挂... 记者揭秘!微信雀神麻将挂件开挂辅助,微乐家乡麻将自建房辅助app(开挂自建房)app1、每一步都需要...
我来分享!微乐自建房辅助工具脚... 我来分享!微乐自建房辅助工具脚本,微乐自建房脚本免费入口(开挂自建房)脚本1、下载好微乐自建房辅助工...
玩家实测!微乐微信自建房辅助工... 玩家实测!微乐微信自建房辅助工具插件,微乐小程序免费黑科技(开挂自建房)软件1、微乐微信自建房辅助工...
终于懂了!微乐自建房辅助工具脚... 终于懂了!微乐自建房辅助工具脚本,微乐自建房脚本免费入口(开挂自建房)攻略1.微乐自建房辅助工具脚本...
重大通报!微乐家乡麻将自建房辅... 重大通报!微乐家乡麻将自建房辅助app,微乐自建房脚本免费入口(开挂自建房)攻略微乐家乡麻将自建房辅...
盘点一款!微乐自建房辅助工具挂... 盘点一款!微乐自建房辅助工具挂,微乐家乡麻将自建房辅助app(开挂自建房)技巧运微乐家乡麻将自建房辅...
今日公布!微乐自建房辅助工具挂... 今日公布!微乐自建房辅助工具挂,微乐小程序免费黑科技(开挂自建房)工具1、起透看视 微乐自建房辅助工...