【发布时间】:2019-09-30 14:24:19
【问题描述】:
在包含列表的片段的onViewCreated() 中,我观察如下实时数据:
searchViewModel.allVideos.observe(viewLifecycleOwner, Observer {
searchAdapter.updateList(it)
})
当列表中的一项被点击时,它将使用导航组件进入详细信息页面。
...
val bundle = bundleOf("postId" to post!!.id)
v?.findNavController()?.navigate(R.id.action_to_detailsFragment, bundle, null, extras)
但是当用户返回列表时,他/她会在列表中看到重复的项目。再次调用onViewCreated 并将新项目添加到列表中。导航组件替换片段:(((
有人可以帮我吗?
【问题讨论】:
-
更新列表后移除观察者
-
@coroutineDispatcher 我删除了它,但问题仍然存在
-
你是在积累
searchAdapter中的视频列表吗? -
@SanlokLee 是的,我愿意。
-
@SalmanSeifian,一个更好的设计是让
allVideos拥有完整的视频列表,而不是一个一个片段地累积在适配器中。
标签: android android-livedata android-jetpack android-architecture-navigation