我在底部导航视图中具有三个选项卡,每个选项卡均由片段(主页,搜索,配置文件)表示。当用户按下配置文件选项卡时,将显示ProfileFragment,在该片段中,我有一个recyclerView,我使用FirestorePagingAdapter填充了数据。 问题在于,如果用户现在切换到“主页”或“搜索”选项卡,然后返回到“配置文件”选项卡,则数据不见了,并再次提取到firebasedb,然后填充了recyclerview。
我首先想到的问题是片段被重新创建(是这种情况),但是我找到了使用导航库和android人在github上提供的示例的解决方案。我
看起来唯一的问题是recyclerView使用FirestorePagingAdapter时。在搜索片段中,我还有一个recyclerView,它从会议室数据库中获取数据,当片段/选项卡切换时,它也曾经丢失数据,但是很遗憾,我用nav.lib解决了这个问题。现在,当我第一次打开搜索时,如果我切换到配置文件然后又返回搜索数据,则数据会被加载到recyclerView中。使用FirestorePagingAdapter的recyclerview并非如此。我的最终目标是获得类似instagram / youtube导航的功能,在这种情况下,当您切换片段时,您不会在recyclerViews中丢失数据,只有当您等待数据加载时,才打开第一个选项卡时间。