diff --git a/Notesmaster/app/src/main/java/net/micode/notes/ui/NoteEditText.java b/Notesmaster/app/src/main/java/net/micode/notes/ui/NoteEditText.java index ded9ddb..69cd565 100644 --- a/Notesmaster/app/src/main/java/net/micode/notes/ui/NoteEditText.java +++ b/Notesmaster/app/src/main/java/net/micode/notes/ui/NoteEditText.java @@ -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); }