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

相关内容

热门资讯

总结透视!wpk透视辅助下载,... 总结透视!wpk透视辅助下载,哈糖大菠萝破解器,法门教程(有挂技巧)-哔哩哔哩1、许多玩家不知道哈糖...
解迷透视!德扑HHpoker有... 解迷透视!德扑HHpoker有挂吗,wepoker能不能透视,秘籍教程(的确有挂)-哔哩哔哩1、不需...
推荐透视!pokermaste... 推荐透视!pokermaster辅助器,poker master辅助,方式教程(有挂教学)-哔哩哔哩...
教你透视!hhpoker德州挂... 教你透视!hhpoker德州挂真的有吗,wepoker高级辅助,经验教程(有挂细节)-哔哩哔哩1、超...
解密透视!哈糖大菠萝可以开挂吗... 解密透视!哈糖大菠萝可以开挂吗,模拟器打开hhpoker,教材教程(确实有挂)-哔哩哔哩哈糖大菠萝可...
揭幕透视!约局吧德州透视,po... 揭幕透视!约局吧德州透视,pokemmo脚本辅助下载,经验教程(真是有挂)-哔哩哔哩pokemmo脚...
总结透视!pokermaste... 您好,pokemomo辅助软件这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054...
详情透视!we poker免费... 详情透视!we poker免费辅助器,wepoker有用吗,模板教程(有挂秘籍)-哔哩哔哩1、实时w...
开挂透视!wejoker私人辅... 开挂透视!wejoker私人辅助软件,epoker有透视吗,攻略教程(有挂透视)-哔哩哔哩1)wej...
揭幕透视!hhpoker是真的... 揭幕透视!hhpoker是真的吗,wepoker辅助软件价格,妙招教程(有挂方法)-哔哩哔哩1、全新...