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科技辅... 透视辅助!wepoker科技辅助器(透视)南丰数刀脚本(总是是真的辅助神器)-哔哩哔哩1、每一步都需...
透视教学!pokemomo辅助... 透视教学!pokemomo辅助软件(透视)决战卡五星游戏辅助(一直真的是有辅助安装)-哔哩哔哩1、许...
透视安装!wepoker软件安... 透视安装!wepoker软件安装包(透视)天天手游辅助工具(竟然存在有辅助软件)-哔哩哔哩天天手游辅...
透视ai!佛手大菠萝13道挂哪... 透视ai!佛手大菠萝13道挂哪里(透视)新世界辅助器(果然真的是有辅助下载)-哔哩哔哩1、金币登录送...
透视app!wepoker轻量... 透视app!wepoker轻量版透视(透视)小程序透视辅助(真是真的有辅助软件)-哔哩哔哩1、完成小...
随着!hhpoker到底可以作... 随着!hhpoker到底可以作必弊码(透视)新畅游互娱辅助(总是真的有辅助安装)-哔哩哔哩1、每一步...
透视实锤!约局吧app有挂吗(... 透视实锤!约局吧app有挂吗(透视)三江互娱辅助(原来是真的辅助修改器)-哔哩哔哩所有人都在同一条线...
值得注意的是!wepoker透... 值得注意的是!wepoker透视最简单三个步骤(透视)约战竞技场辅助器(总是有辅助平台)-哔哩哔哩进...
连日来!wepoker是不是有... 您好,欢聚水鱼插件怎么安装这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很...