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、超多福利:超高返利,海量正版游...
相较于以往!赣牌圈小程序黑科技... 相较于以往!赣牌圈小程序黑科技!一贯确实有开挂辅助脚本(有挂方式)-哔哩哔哩1、玩家可以在赣牌圈小程...
不少玩家反映!多乐辅助器使用方... 不少玩家反映!多乐辅助器使用方法!一直是有开挂辅助神器(有挂分享)-哔哩哔哩1、多乐辅助器使用方法有...
第三方辅助!来趣广西友玩辅助!... 第三方辅助!来趣广西友玩辅助!确实存在有开挂辅助器(有挂技术)-哔哩哔哩1、来趣广西友玩辅助辅助软件...
黑科技插件!蜀山四川辅助脚本视... 黑科技插件!蜀山四川辅助脚本视频教学!原来是有开挂辅助教程(有挂辅助)-哔哩哔哩1、下载好蜀山四川辅...
2026版复盘!随意玩辅助器透... 2026版复盘!随意玩辅助器透视开挂!总是是真的有开挂辅助器(有挂技术)-哔哩哔哩1、任何随意玩辅助...