RxAndroid 和按钮事件?
RxAndroid and button events?
有人知道如何使用 RxAndroid 从按钮点击中获得点击吗?
不,这不是重复的。变化太大了。
我试过了:
- Events.click() ... 已删除
- RxTextView.editorActions() ...假定可以工作,因为 TextView 是 Button 的超类 ...没有从中获取任何事件
- ViewObservable.clicks() ....已被删除或移动到 RxBindings(据说,但我在那里找不到它!)
我的 Gradle 依赖项是:
compile 'io.reactivex:rxjava:1.0.14'
compile 'io.reactivex:rxandroid:1.0.1'
compile 'com.jakewharton.rxbinding:rxbinding:0.2.0'
有人有想法吗?
从 0.3.0 开始,您需要使用 RxView.clicks()
。这是记录点击的示例。
RxView.clicks(button).subscribe(new Action1<Void>() {
@Override
public void call(Void aVoid) {
// Replace below with your click handling code
Log.d(TAG, "Clicked");
}
});
此外,如果您想改进事件以避免多次点击,您可以使用:
@BindView(R.id.my_button)
Button myButton;
RxView.clicks(myButton)
.throttleFirst(1, TimeUnit.SECONDS, AndroidSchedulers.mainThread())
.subscribe(s -> {
// Do anything when I do click
Log.d(TAG, "Clicked");
});
有人知道如何使用 RxAndroid 从按钮点击中获得点击吗?
不,这不是重复的。变化太大了。
我试过了:
- Events.click() ... 已删除
- RxTextView.editorActions() ...假定可以工作,因为 TextView 是 Button 的超类 ...没有从中获取任何事件
- ViewObservable.clicks() ....已被删除或移动到 RxBindings(据说,但我在那里找不到它!)
我的 Gradle 依赖项是:
compile 'io.reactivex:rxjava:1.0.14'
compile 'io.reactivex:rxandroid:1.0.1'
compile 'com.jakewharton.rxbinding:rxbinding:0.2.0'
有人有想法吗?
从 0.3.0 开始,您需要使用 RxView.clicks()
。这是记录点击的示例。
RxView.clicks(button).subscribe(new Action1<Void>() {
@Override
public void call(Void aVoid) {
// Replace below with your click handling code
Log.d(TAG, "Clicked");
}
});
此外,如果您想改进事件以避免多次点击,您可以使用:
@BindView(R.id.my_button)
Button myButton;
RxView.clicks(myButton)
.throttleFirst(1, TimeUnit.SECONDS, AndroidSchedulers.mainThread())
.subscribe(s -> {
// Do anything when I do click
Log.d(TAG, "Clicked");
});