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透视有用吗,pokerrrr2辅助,好像有挂(有挂方式)1、这是跨平台的轻...
一分钟秒懂!wepoker怎么... 一分钟秒懂!wepoker怎么设置透视,竞技联盟透视插件,真是是有挂(有挂方针)破解侠是真的助透视。...
一分钟了解!wepoker透视... 一分钟了解!wepoker透视脚本免费使用视频,werplan怎么作弊,真是真的有挂(有挂总结)1、...
必备科技!pokemmo辅助器... 必备科技!pokemmo辅助器脚本下载,大菠萝免费辅助,切实真的有挂(真的有挂)大菠萝免费辅助能透视...
最新技巧!大菠萝手游辅助,拱趴... 最新技巧!大菠萝手游辅助,拱趴大菠萝万能挂图解,其实是真的有挂(有挂技术)1、用户打开应用后不用登录...
最新技巧!wpk是真的还是假的... 最新技巧!wpk是真的还是假的,wepoker辅助软件价格,一直真的是有挂(有挂总结)1、进入游戏-...
玩家亲测!wepoker怎么拿... 玩家亲测!wepoker怎么拿到好牌,wepoker有用吗,其实真的有挂(有挂方式)1、很好的工具软...
一分钟了解!hhpoker德州... 一分钟了解!hhpoker德州有挂吗,德普之星透视免费,本来是真的有挂(有挂细节)1、操作简单,无需...
一分钟教会你!hhpoker辅... 一分钟教会你!hhpoker辅助软件是真的么,wpk辅助软件,果然真的是有挂(真实有挂)1、完成有辅...
玩家必看分享!wepoker私... 玩家必看分享!wepoker私人局规律,hhpoker辅助,都是真的是有挂(确实有挂)1、金币登录送...