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作弊... 我来教大家!wepoker作弊辅助(辅助挂)本来真的有挂(有挂攻略)1、全新机制【wepoker作弊...
玩家爆料!wpk免费辅助(辅助... 玩家爆料!wpk免费辅助(辅助挂)竟然是真的有挂(有挂解惑)1、进入到wpk免费辅助是否有挂之后,能...
推荐十款!wepoker轻量版... 推荐十款!wepoker轻量版透视方法(辅助挂)好像真的是有挂(真实有挂)1)wepoker轻量版透...
让我来分享经验!智星德州可以透... 让我来分享经验!智星德州可以透视吗(辅助挂)竟然有挂(有挂总结)1、智星德州可以透视吗免费脚本咨询教...
实测必看!大菠萝免费辅助器(辅... 实测必看!大菠萝免费辅助器(辅助挂)好像存在有挂(真的有挂)1、游戏颠覆性的策略玩法,独创攻略技巧玩...
玩家爆料!wepoker开脚本... 玩家爆料!wepoker开脚本视频(辅助挂)切实是真的有挂(有挂细节);1、该软件可以轻松地帮助玩家...
玩家必看秘籍!xpoker辅助... 玩家必看秘籍!xpoker辅助器(辅助挂)都是存在有挂(有挂方法)1.xpoker辅助器 选牌创建新...
一分钟揭秘!hhpoker是正... 一分钟揭秘!hhpoker是正品吗(辅助挂)一贯存在有挂(有挂细节)1)hhpoker是正品吗辅助插...
热点讨论!德普之星透视免费(辅... 热点讨论!德普之星透视免费(辅助挂)竟然存在有挂(有挂头条)1、很好的工具软件,可以解锁游戏的德普之...
终于懂了!德普之星透视免费(辅... 终于懂了!德普之星透视免费(辅助挂)一直存在有挂(有挂功能)一、德普之星透视免费游戏安装教程牌型概率...