个人记录 RxBinding RxTextView

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/NianandShao/article/details/81534579

相关知识
textChanges 内部封装TextWatcher文本改变监听

editorActions 回车点击事件

editorActionEvnets 回车点击事件,包含android keyEvent等信息

getKeyCode 键盘上每一个按钮都有对应的键盘码,可用来查知用户按了什么键,返回当前按钮的键值

getAction 返回事件的动作值

textChanges

private void textChanges() {

        Disposable disposable = RxTextView.textChanges(et_text)
                .debounce(200, TimeUnit.MILLISECONDS)
                .subscribe(new Consumer<CharSequence>() {
                    @Override
                    public void accept(CharSequence charSequence) throws Exception {
                        Log.d(TAG, "文本改变: " + charSequence.toString());
                    }
                });

        mCompositeDisposable.add(disposable);
    }

EditText输入什么,就返回什么

editorActions

private void editorActions() {
        Disposable disposable = RxTextView.editorActions(et_text).subscribe(new Consumer<Integer>() {
            @Override
            public void accept(Integer integer) throws Exception {
                Log.d(TAG, "点击");
            }
        });

        mCompositeDisposable.add(disposable);
    }

回车事件 action_down和action_dowm混在一起 点击一下回车会触发down和up

editorActionEvnets

private void editorActionEvents() {
        Disposable disposable = RxTextView.editorActionEvents(et_text)
                .subscribe(new Consumer<TextViewEditorActionEvent>() {
                    @Override
                    public void accept(TextViewEditorActionEvent textViewEditorActionEvent) throws Exception {

                        KeyEvent keyEvent = textViewEditorActionEvent.keyEvent();

                        if (keyEvent.getKeyCode() == KeyEvent.KEYCODE_ENTER && keyEvent.getAction() == KeyEvent.ACTION_DOWN) {
                            Log.d(TAG, "按下");
                        }

                        if (keyEvent.getKeyCode() == KeyEvent.KEYCODE_ENTER && keyEvent.getAction() == KeyEvent.ACTION_UP) {
                            Log.d(TAG, "松开");
                        }

                    }
                });

        mCompositeDisposable.add(disposable);
    }

使用getAction就能获取事件动作,这里获取按下和松开事件

KEYCODE_ENTER 回车键

ACTION_DOWN 按下

ACTION_UP 松开

猜你喜欢

转载自blog.csdn.net/NianandShao/article/details/81534579