Android RecyclerView.Adapter StateRestorationPolicy如何工作?
我在活动的onCreate方法中异步填充适配器。当活动重新配置时,它将销毁当前活动并创建新的活动实例。因此,我以前的列表将丢失。我必须再次用新数据填充适配器。所以,当适配器恢复其状态时,我的列表可能还没有填充。我想这就是为什么当一个活动发生时,适配器总是转到起始位置。我可能用错了。有人帮我怎么做。这是我的代码:Android RecyclerView.Adapter StateRestorationPolicy如何工作?,android,android-recyclerview,activity-lifecycle,Android,Android Recyclerview,Activity Lifecycle,我在活动的onCreate方法中异步填充适配器。当活动重新配置时,它将销毁当前活动并创建新的活动实例。因此,我以前的列表将丢失。我必须再次用新数据填充适配器。所以,当适配器恢复其状态时,我的列表可能还没有填充。我想这就是为什么当一个活动发生时,适配器总是转到起始位置。我可能用错了。有人帮我怎么做。这是我的代码: override fun onCreate(savedInstanceState: Bundle?) { . . . myAdapter = MyList
override fun onCreate(savedInstanceState: Bundle?) {
.
.
.
myAdapter = MyListAdapter(myList,...)
myAdapter.stateRestorationPolicy = StateRestorationPolicy.PREVENT_WHEN_EMPTY
.
.
.
connectToDatabase(myList)
}
.
.
.
override fun onDistroy() {
.
.
.
disconnectFromDatabase()
}
我和你有同样的问题。虽然有些人能做到,但对我来说不行。很多人说它不可靠。相反,我将适配器的数据缓存在
ViewModel
中,一切正常