|
|
|
@ -143,18 +143,28 @@ public class NoteEditText extends EditText {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
|
|
|
|
// 处理键盘按下事件
|
|
|
|
|
switch (keyCode) {
|
|
|
|
|
case KeyEvent.KEYCODE_ENTER:
|
|
|
|
|
case KeyEvent.KEYCODE_ENTER: // 回车键处理
|
|
|
|
|
// 当存在文本变化监听器时,不消费回车键事件
|
|
|
|
|
// 以便监听器可以自定义回车键行为(如换行处理)
|
|
|
|
|
if (mOnTextViewChangeListener != null) {
|
|
|
|
|
return false;
|
|
|
|
|
return false; // false表示允许事件继续传递
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case KeyEvent.KEYCODE_DEL:
|
|
|
|
|
|
|
|
|
|
case KeyEvent.KEYCODE_DEL: // 删除键处理
|
|
|
|
|
// 记录删除前的光标起始位置
|
|
|
|
|
// 用于支持撤销操作或特殊删除逻辑
|
|
|
|
|
mSelectionStartBeforeDelete = getSelectionStart();
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
// 其他按键不做特殊处理
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 未被处理的按键事件交由父类默认处理
|
|
|
|
|
return super.onKeyDown(keyCode, event);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|