我有一个像这样的BehaviorSubject:
private BehaviorSubject<List<Activity>> draft = BehaviorSubject.createDefault(new ArrayList<>());
此Subject表示recyclerView中的项目,因此当我调用onNext方法时,某些项目会添加到recyclerView。
当视图再次附加到屏幕时出现问题,显然只有最后一个项目在recyclerView上可见。
所以问题是有没有办法累积第一次订阅时发出的所有项目?
此致
答案 0 :(得分:0)
您将无法取回之前发出的物品。你必须存储一些变量/商店,它们在视图附加和分离时不会改变。如果你想获得以前存储的项目,那么这个组件在你的情况下不是理想的组件。
答案 1 :(得分:0)
您正在描述ReplaySubject
。 ReplaySubject
将为任何新订阅者发出所有先前发出的值。
检查大理石图here。