gpt4 book ai didi

Android SavedStateHandle 未保存在 ViewModel 中

转载 作者:行者123 更新时间:2023-12-04 17:27:59 28 4
gpt4 key购买 nike

我有一个 ViewModel,它采用 SavedStateHandle范围。我在其中保存一个字符串,如下所示:

    private fun saveString(str: String) {
state.set(KEY_STRING, str)
}

然后我强制关闭我的应用程序并重新启动它,并希望像这样检索保存的字符串:

fun getSavedString(): String? {
return state.get<String>(KEY_String)
}

但是,它总是返回 null。任何想法如何正确使用 SavedStateHandle?

最佳答案

“然后我强制关闭我的应用程序并重新启动它..”
我猜你完全杀死了应用程序 =)
复制方式之一saveState您需要的情况:

  • 开启开发者模式并勾选Don't keep activities
  • 进程限制 -> No background processes
  • 在后台向您发送应用程序(SavedStateHandle 将保存)
  • 从后台恢复应用程序或点击应用程序图标(SavedStateHandle 将恢复)

  • 另一种最简单的方法:
  • 在后台向您发送应用程序
  • 点击终止 (Logcat)

  • enter image description here
  • 从后台恢复应用程序或点击应用程序图标

  • Also you should use SavedStateViewModelFactory if you want toreceive SavedStateHandle in ViewModel

    关于Android SavedStateHandle 未保存在 ViewModel 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62139420/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com