0
RxBindingを使用してEditTextの右側のドロアブルにクリックリスナーを実装する方法はありますか?rxbindingとright drawableをクリック
私が見つけた唯一のものがある:
RxTextView.editorActionEvents(mEditText).subscribeWith(new DisposableObserver<TextViewEditorActionEvent>() {
@Override
public void onNext(TextViewEditorActionEvent textViewEditorActionEvent) {
int actionId = textViewEditorActionEvent.actionId();
if(actionId == MotionEvent.ACTION_UP) {
}
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
しかし、このイベントに、私はクリックの位置についての情報を見つけることができません。
これは私がRxJava使用して、それをやった方法です:
public Observable<Integer> getCompoundDrawableOnClick(EditText editText, int... drawables) {
return Observable.create(e -> {
editText.setOnTouchListener((v, event) -> {
if (event.getAction() == MotionEvent.ACTION_UP) {
for (int i : drawables) {
if (i == UiUtil.COMPOUND_DRAWABLE.DRAWABLE_RIGHT) {
if (event.getRawX() >= (editText.getRight() - editText.getCompoundDrawables()[i].getBounds().width())) {
e.onNext(i);
return true;
}
}
}
}
// add the other cases here
return false;
});
});
は、しかし、あなたは確認する必要がある場合、私は、私はあなたが間違った場所に検索しているホイール