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

相关内容

热门资讯

正版透视"wepok... >>您好:wepoker透视挂真的吗确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好...
传授透视"wpk开挂... 传授透视"wpk开挂挂是真的吗"开挂(透视)辅助器(专业讨论新2026版)是一款可以让一直输的玩家,...
正版透视"wepok... >>您好:wepoker透视脚本网上卖的可以信嘛确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用...
盘点透视"wepok... 盘点透视"wepokerplus德州开挂"开挂(透视)辅助挂(热点讨论2026新版技巧)是一款可以让...
盘点透视"微乐扑克牌... 盘点透视"微乐扑克牌有挂吗怎么挂"开挂(透视)辅助下载(2026教程教你攻略)是一款可以让一直输的玩...
推荐透视"wpk辅助... 您好:wpk辅助器的软件,软件加客服确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好...
通报透视"wepok... 无需打开直接搜索加微信客服(136704302)咨询了解wepoker透视真的吗辅助器目前(微信:1...
曝光透视"wepke... 您好:wepker透视挂真的吗这款游戏是可以开挂的,软件加【添加微信客服136704302】确实是有...
传授透视"wePoK... 您好:wePoKer有透视软件吗这款游戏是可以开挂的,软件加【添加微信客服136704302】确实是...
关于透视"wepok... 关于透视"wepoker辅助挂怎么用最安全"开挂(透视)辅助平台(玩家必备教程新2026教程)是一款...