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重建时恢复数据。你可以根据需求自定义数据的保存和获取逻辑。

相关内容

热门资讯

解密关于!wepoker破解器... 『标题:当前标题』主打赛后复盘的 AI 游戏攻略黑科技走红,对局总结能力开挂。上传对局回放或者战绩截...
记者发布!WPK工具,wepo... 记者发布!WPK工具,wepoker开挂脚本神器(从来真的有辅助挂)主打本地运行的 AI 黑科技工具...
玩家必看科普!WPK俱乐部,德... 玩家必看科普!WPK俱乐部,德扑之星外卦神器软件平台(好像真的有辅助挂)AI 智能体黑科技再上新,自...
详细说明!微扑克微乐辅助,we... 微扑克微乐辅助AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略数据包,断...
一分钟秒懂!wepoker免费... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成wepoker免费脚本弱密码解析、 ...
我来向大家传授!德普之星透视,... 您好,我来向大家传授!德普之星透视,wepoker怎么开挂安装(切实是有透视挂)这款游戏可以开挂的,...
黑科技教程!wepoker辅助... 您好,黑科技教程!wepoker辅助工具,德扑之星到底有没有挂教程(本来是真的有开挂)这款游戏可以开...
记者揭秘!德扑之星怎么开辅助,... 记者揭秘!德扑之星怎么开辅助,WPK有没有辅助插件脚本(原来是有辅助挂)主打本地运行的 AI 黑科技...
推荐攻略!wepoker免费辅... 推荐攻略!wepoker免费辅助器,WPK软件下载平台(原生是真的有透视挂)AI 智能体黑科技再上新...
一分钟了解!!we-poker... 一款 AI 游戏攻略黑科技工具上线,查攻略效率直接开挂。它整合版本更新、装备搭配、BOSS 打法、牌...