将 RxJava Observable 绑定到 TextView 的文本 属性

Binding an RxJava Observable to a TextView's text property

有没有办法,也许使用 RxBinding,将 Observable<String> 绑定到 TextView 对象,使其 .text 属性 与Observable?显然,您可以 subscribe() 并手动更新文本字段,但似乎有一种方便的方法。我就是找不到它,文档也没有为我提供任何答案。

RxSwift(或 RxCocoa)中存在类似的便捷方法,以防阐明我的要求;那里叫 .bindTo()

是的,rx-binding 库中提供了这样的方法。 例如,对于 TextView RxTextView.text(textView) 创建可用作订阅者的操作。

source code

用法是这样的

observable.subscribe(RxTextView.text(textView), Throwable::printStackTrace);

注意记忆和阅读文档:

Warning: The created observable keeps a strong reference to view. Unsubscribe to free this reference.

它与 bindTo 魔术不同,但可以满足您的需求。