版权声明:本文为博主原创文章,未经博主允许不得转载。 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 松开