注释了处理键盘抬起事件

pull/25/head
gq 3 months ago
parent 710449d7e5
commit fa0d2533ce

@ -168,35 +168,53 @@ public class NoteEditText extends EditText {
return super.onKeyDown(keyCode, event); return super.onKeyDown(keyCode, event);
} }
/**
*
* @param keyCode KeyEvent.KEYCODE_DEL
* @param event
* @return truefalse
*/
@Override @Override
public boolean onKeyUp(int keyCode, KeyEvent event) { public boolean onKeyUp(int keyCode, KeyEvent event) {
switch(keyCode) { switch(keyCode) {
case KeyEvent.KEYCODE_DEL: case KeyEvent.KEYCODE_DEL: // 删除键抬起事件
// 当设置了文本变化监听器时
if (mOnTextViewChangeListener != null) { if (mOnTextViewChangeListener != null) {
// 如果光标在文本开头且不是第一个编辑框
if (0 == mSelectionStartBeforeDelete && mIndex != 0) { if (0 == mSelectionStartBeforeDelete && mIndex != 0) {
// 回调删除事件,传递当前索引和文本内容
mOnTextViewChangeListener.onEditTextDelete(mIndex, getText().toString()); mOnTextViewChangeListener.onEditTextDelete(mIndex, getText().toString());
return true; return true; // 事件已处理
} }
} else { } else {
Log.d(TAG, "OnTextViewChangeListener was not seted"); Log.d(TAG, "OnTextViewChangeListener was not set");
} }
break; break;
case KeyEvent.KEYCODE_ENTER:
case KeyEvent.KEYCODE_ENTER: // 回车键抬起事件
// 当设置了文本变化监听器时
if (mOnTextViewChangeListener != null) { if (mOnTextViewChangeListener != null) {
// 获取当前光标位置
int selectionStart = getSelectionStart(); int selectionStart = getSelectionStart();
// 截取光标后的文本
String text = getText().subSequence(selectionStart, length()).toString(); String text = getText().subSequence(selectionStart, length()).toString();
// 保留光标前的文本
setText(getText().subSequence(0, selectionStart)); setText(getText().subSequence(0, selectionStart));
// 回调回车事件,传递下一个索引和截取的文本
mOnTextViewChangeListener.onEditTextEnter(mIndex + 1, text); mOnTextViewChangeListener.onEditTextEnter(mIndex + 1, text);
} else { } else {
Log.d(TAG, "OnTextViewChangeListener was not seted"); Log.d(TAG, "OnTextViewChangeListener was not set");
} }
break; break;
default: default:
// 其他按键不做特殊处理
break; break;
} }
// 未被处理的按键事件交由父类处理
return super.onKeyUp(keyCode, event); return super.onKeyUp(keyCode, event);
} }
@Override @Override
protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) { protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
if (mOnTextViewChangeListener != null) { if (mOnTextViewChangeListener != null) {

Loading…
Cancel
Save