使用RxAndroid时可观察的替代方法,只需要一次

时间:2016-04-08 22:09:36

标签: android rx-java rx-android behaviorsubject

我正在使用一个使用反应式框架的android项目。我有一个数据成员的对象,可以根据使用输入更改其值,例如" name"。我需要监听这个变量的变化,所以我正在为它创建一个行为主题。但是,代码的某些部分我只需要说一次值,比如在按钮点击时弹出警报,我需要显示一次并且不关心它是否发生变化。我不知道是否将这个价值作为一个行为主题,并且当我需要访问它时,我有一个吸气剂是一件好事,我宁愿拥有一个或另一个,我需要听取变化,所以我必须有行为主题。同时,在获得该值之后,必须注册它,获取最后一个值并取消注册似乎是一种过度杀伤力。有什么建议?

1 个答案:

答案 0 :(得分:1)

您始终可以使用take(1)similar来获取所需的值并立即结束订阅。这将保持提供者的公共API或Observable / Subject来自哪里更清洁,因为没有额外的getter。这可以使您对提供者的未来更改更容易,因为您不需要同时更新Observable和getter实现。