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私人局... 您好,德普之星辅助工具如何设置这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很...
玩家必看教程!aapoker辅... 玩家必看教程!aapoker辅助器是真的吗,wpk透视辅助方法,玩家教你(有挂方法)关于aapoke...
科技通报!pokeplus脚本... 科技通报!pokeplus脚本,德普软件,线上教程(有挂教程);大神普及一款德州ai内幕,确定了po...
揭秘!hhpoker哪个俱乐部... 您好,hhpoker哪个俱乐部靠谱这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302...
推荐一款!wepoker有插件... 1、推荐一款!wepoker有插件吗,wepoker智能辅助插件,扑克教程(有挂方法)。2、wepo...
一分钟带你了解!线上德州的辅助... 一分钟带你了解!线上德州的辅助器是什么,红龙poker有辅助吗,软件教程(有挂软件);原来确实真的有...
最新技巧!德州之星扫描器,智星... 最新技巧!德州之星扫描器,智星德州有脚本吗,力荐教程(有挂教程)是一款可以让一直输的玩家,快速成为一...
一分钟揭秘!来玩app破解版,... 一分钟揭秘!来玩app破解版,hhpoker是真的还是假的,透明挂教程(有挂神器)1、不需要AI权限...
分享实测!竞技联盟辅助插件,w... 分享实测!竞技联盟辅助插件,wepoker怎么破解游戏,安装教程(有挂技巧)1、很好的工具软件,可以...
记者揭秘!wepoker线上大... 记者揭秘!wepoker线上大神,wpk辅助购买,揭秘攻略(有挂辅助)1、不需要AI权限,帮助你快速...