Android RecyclerView.Adapter StateRestorationPolicy如何工作?

Android RecyclerView.Adapter StateRestorationPolicy如何工作?,android,android-recyclerview,activity-lifecycle,Android,Android Recyclerview,Activity Lifecycle,我在活动的onCreate方法中异步填充适配器。当活动重新配置时,它将销毁当前活动并创建新的活动实例。因此,我以前的列表将丢失。我必须再次用新数据填充适配器。所以,当适配器恢复其状态时,我的列表可能还没有填充。我想这就是为什么当一个活动发生时,适配器总是转到起始位置。我可能用错了。有人帮我怎么做。这是我的代码: override fun onCreate(savedInstanceState: Bundle?) { . . . myAdapter = MyList

我在活动的onCreate方法中异步填充适配器。当活动重新配置时,它将销毁当前活动并创建新的活动实例。因此,我以前的列表将丢失。我必须再次用新数据填充适配器。所以,当适配器恢复其状态时,我的列表可能还没有填充。我想这就是为什么当一个活动发生时,适配器总是转到起始位置。我可能用错了。有人帮我怎么做。这是我的代码:

override fun onCreate(savedInstanceState: Bundle?) {
    .
    .
    .
    myAdapter = MyListAdapter(myList,...)
    myAdapter.stateRestorationPolicy = StateRestorationPolicy.PREVENT_WHEN_EMPTY
    .
    .
    .
    connectToDatabase(myList)
}
.
.
.
override fun onDistroy() {
    .
    .
    .
    disconnectFromDatabase()
}

我和你有同样的问题。虽然有些人能做到,但对我来说不行。很多人说它不可靠。相反,我将适配器的数据缓存在
ViewModel
中,一切正常