/** * 版权声明,说明该代码是MiCode开源社区的版权所有,并在Apache License 2.0下授权。 */ package net.micode.notes.ui; // 导入所需的Android库和自定义包 public class NoteEditActivity extends Activity implements OnClickListener, NoteSettingChangedListener, OnTextViewChangeListener { // 内部类,用于持有笔记标题区域的视图元素 private class HeadViewHolder { public TextView tvModified; public ImageView ivAlertIcon; public TextView tvAlertDate; public ImageView ibSetBgColor; } // 定义背景颜色选择器和字体大小选择器的映射关系 private static final Map sBgSelectorBtnsMap = new HashMap(); static { // 初始化背景颜色按钮映射 } private static final Map sBgSelectorSelectionMap = new HashMap(); static { // 初始化背景颜色选择器映射 } private static final Map sFontSizeBtnsMap = new HashMap(); static { // 初始化字体大小按钮映射 } private static final Map sFontSelectorSelectionMap = new HashMap(); static { // 初始化字体大小选择器映射 } // 类变量定义 private static final String TAG = "NoteEditActivity"; private HeadViewHolder mNoteHeaderHolder; private View mHeadViewPanel; private View mNoteBgColorSelector; private View mFontSizeSelector; private EditText mNoteEditor; private View mNoteEditorPanel; private WorkingNote mWorkingNote; private SharedPreferences mSharedPrefs; private int mFontSizeId; private static final String PREFERENCE_FONT_SIZE = "pref_font_size"; private static final int SHORTCUT_ICON_TITLE_MAX_LEN = 10; public static final String TAG_CHECKED = String.valueOf('\u221A'); public static final String TAG_UNCHECKED = String.valueOf('\u25A1'); private LinearLayout mEditTextList; private String mUserQuery; private Pattern mPattern; // onCreate方法,初始化Activity @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.note_edit); // 省略了部分代码... } // onRestoreInstanceState方法,用于在Activity被系统销毁后恢复状态 @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); // 省略了部分代码... } // initActivityState方法,初始化Activity状态 private boolean initActivityState(Intent intent) { // 省略了部分代码... } // onResume方法,初始化笔记屏幕 @Override protected void onResume() { super.onResume(); initNoteScreen(); } // initNoteScreen方法,初始化笔记屏幕视图 private void initNoteScreen() { // 省略了部分代码... } // onNewIntent方法,处理新的Intent @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); initActivityState(intent); } // onSaveInstanceState方法,保存Activity状态 @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); // 省略了部分代码... } // dispatchTouchEvent方法,处理触摸事件 @Override public boolean dispatchTouchEvent(MotionEvent ev) { // 省略了部分代码... } // inRangeOfView方法,判断触摸事件是否在视图范围内 private boolean inRangeOfView(View view, MotionEvent ev) { // 省略了部分代码... } // initResources方法,初始化资源 private void initResources() { // 省略了部分代码... } // onPause方法,保存笔记 @Override protected void onPause() { super.onPause(); if(saveNote()) { Log.d(TAG, "Note data was saved with length:" + mWorkingNote.getContent().length()); } clearSettingState(); } // updateWidget方法,更新Widget private void updateWidget() { // 省略了部分代码... } // onClick方法,处理点击事件 public void onClick(View v) { // 省略了部分代码... } // onBackPressed方法,处理返回键事件 @Override public void onBackPressed() { // 省略了部分代码... } // clearSettingState方法,清除设置状态 private boolean clearSettingState() { // 省略了部分代码... } // onBackgroundColorChanged方法,处理背景颜色变化 public void onBackgroundColorChanged() { // 省略了部分代码... } // onPrepareOptionsMenu方法,准备菜单 @Override public boolean onPrepareOptionsMenu(Menu menu) { // 省略了部分代码... } // onOptionsItemSelected方法,处理菜单项点击事件 @Override public boolean onOptionsItemSelected(MenuItem item) { // 省略了部分代码... } // setReminder方法,设置提醒 private void setReminder() { // 省略了部分代码... } // sendTo方法,分享笔记到其他应用 private void sendTo(Context context, String info) { // 省略了部分代码... } // createNewNote方法,创建新笔记 private void createNewNote() { // 省略了部分代码... } // deleteCurrentNote方法,删除当前笔记 private void deleteCurrentNote() { // 省略了部分代码... } // isSyncMode方法,判断是否是同步模式 private boolean isSyncMode() { // 省略了部分代码... } // onClockAlertChanged方法,处理时钟提醒变化 public void onClockAlertChanged(long date, boolean set) { // 省略了部分代码... } // onWidgetChanged方法,处理Widget变化 public void onWidgetChanged() { // 省略了部分代码... } // onEditTextDelete方法,处理编辑文本删除 public void onEditTextDelete(int index, String text) { // 省略了部分代码... } // onEditTextEnter方法,处理编辑文本回车 public void onEditTextEnter(int index, String text) { // 省略了部分代码... } // switchToListMode方法,切换到列表模式 private void switchToListMode(String text) { // 省略了部分代码... } // getHighlightQueryResult方法,高亮查询结果 private Spannable getHighlightQueryResult(String fullText, String userQuery) { // 省略了部分代码... } // getListItem方法,获取列表项视图 private View getListItem(String item, int index) { // 省略了部分代码... } // onTextChange方法,处理文本变化 public void onTextChange(int index, boolean hasText) { // 省略了部分代码... } // onCheckListModeChanged方法,处理检查列表模式变化 public void onCheckListModeChanged(int oldMode, int newMode) { // 省略了部分代码... } // getWorkingText方法,获取工作文本 private boolean getWorkingText() { // 省略了部分代码... } // saveNote方法,保存笔记 private boolean saveNote() { // 省略了部分代码... } // sendToDesktop方法,发送到桌面 private void sendToDesktop() { // 省略了部分代码... } // makeShortcutIconTitle方法,制作快捷方式图标标题 private String makeShortcutIconTitle(String content) { // 省略了部分代码... } // showToast方法,显示Toast提示 private void showToast(int resId) { showToast(resId, Toast.LENGTH_SHORT); } // showToast方法,显示Toast提示(带持续时间) private void showToast(int resId, int duration) { } }