问题描述
我在我的活动的 onCreate 方法中异步填充我的适配器。当活动重新配置时,它会破坏当前活动并创建新的活动实例。因此,我之前的清单将丢失。我必须再次用新数据填充我的适配器。因此,当适配器恢复其状态时,我的列表可能尚未填充。我认为这就是为什么当活动重新配置发生时适配器总是进入起始位置的原因。我可能错误地使用了这个。有人帮助我如何做到这一点。这是我的代码:
override fun onCreate(savedInstanceState: Bundle?) {
.
.
.
myAdapter = Mylistadapter(myList,...)
myAdapter.stateRestorationPolicy = StateRestorationPolicy.PREVENT_WHEN_EMPTY
.
.
.
connectToDatabase(myList)
}
.
.
.
override fun ondistroy() {
.
.
.
disconnectFromDatabase()
}
解决方法
我和你有同样的问题。虽然有些人可以让它工作,但对我来说却不是。很多人说不靠谱。相反,我将适配器的数据缓存在 ViewModel
中,一切正常