我正在使用Android Navigation组件制作一个应用程序。但我遇到了一个非常基本的问题,可能会在整个应用程序的开发过程中导致问题。
情景描述:
我有一个Fragment,在其中的onViewCreated方法中,我正在观察来自我的ViewModel的一个字段。
在
问题:
这个片段是一个长滚动的片段。假设我向下滚动到一个部分并点击一个按钮,它会带我到另一个片段。但是当我回到这个片段时,它又把我带到了顶部,并且执行了第一次加载时做的所有操作。这可能会让人困扰。它似乎重新创建了整个片段,而不是保持其旧状态。
我尝试过:
我搜索了很多问题,并查看了这个Github查询、这个SO问题、另一个Git... 但我无法解决我的问题。
请帮忙,谢谢。
情景描述:
我有一个Fragment,在其中的onViewCreated方法中,我正在观察来自我的ViewModel的一个字段。
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
viewModel = ViewModelProviders.of(this).get(EventDetailsViewModel::class.java)
viewModel.init(context!!,eventId)
viewModel.onEventDetailsUpdated().observe(this, Observer {
setEventDetails(it)
})
}
在
setEventDetails
方法中,我使用数据设置了recyclerviews。问题:
这个片段是一个长滚动的片段。假设我向下滚动到一个部分并点击一个按钮,它会带我到另一个片段。但是当我回到这个片段时,它又把我带到了顶部,并且执行了第一次加载时做的所有操作。这可能会让人困扰。它似乎重新创建了整个片段,而不是保持其旧状态。
我尝试过:
我搜索了很多问题,并查看了这个Github查询、这个SO问题、另一个Git... 但我无法解决我的问题。
请帮忙,谢谢。
findNavController().navigate
方法。我不使用片段管理器。 - The Bat