diff --git a/src/Notes-master1/app/src/main/java/net/micode/notes/ui/NotesListActivity.java b/src/Notes-master1/app/src/main/java/net/micode/notes/ui/NotesListActivity.java index 6db3761..b22c15c 100644 --- a/src/Notes-master1/app/src/main/java/net/micode/notes/ui/NotesListActivity.java +++ b/src/Notes-master1/app/src/main/java/net/micode/notes/ui/NotesListActivity.java @@ -573,46 +573,55 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0); } + /** + * 这个函数是用来显示创建或修改文件夹的对话框的。 + * 如果是创建文件夹,则显示空的EditText控件,并设置对话框标题为"创建文件夹"; + * 如果是修改文件夹名称,则将EditText控件的文本设置为当前笔记的摘要,并设置对话框标题为"修改文件夹名称"。 + * 对话框中包含"确定"和"取消"按钮,点击"确定"按钮时会隐藏软键盘并获取EditText中的文本,然后检查文件夹名称是否已存在,如果存在则提示用户。 + * 如果不是创建文件夹且文件夹名称不为空,则更新数据库中的文件夹名称;如果是创建文件夹且文件夹名称不为空,则向数据库中插入文件夹数据。最后关闭对话框。 + * 同时,根据EditText中的文本是否为空来启用或禁用"确定"按钮。 + * @param create + */ private void showCreateOrModifyFolderDialog(final boolean create) { - final AlertDialog.Builder builder = new AlertDialog.Builder(this); - View view = LayoutInflater.from(this).inflate(R.layout.dialog_edit_text, null); - final EditText etName = (EditText) view.findViewById(R.id.et_foler_name); - showSoftInput(); - if (!create) { + final AlertDialog.Builder builder = new AlertDialog.Builder(this); // 创建一个AlertDialog.Builder对象 + View view = LayoutInflater.from(this).inflate(R.layout.dialog_edit_text, null); // 从XML布局文件中加载视图 + final EditText etName = (EditText) view.findViewById(R.id.et_foler_name); // 获取布局文件中的EditText控件 + showSoftInput(); // 显示软键盘 + if (!create) { // 判断是否为修改文件夹名称 if (mFocusNoteDataItem != null) { - etName.setText(mFocusNoteDataItem.getSnippet()); - builder.setTitle(getString(R.string.menu_folder_change_name)); - } else { + etName.setText(mFocusNoteDataItem.getSnippet()); // 将文件夹名称设置为当前笔记的摘要 + builder.setTitle(getString(R.string.menu_folder_change_name)); // 设置对话框标题为"修改文件夹名称" + } else { // 如果长按数据项为空,则记录错误日志并返回 Log.e(TAG, "The long click data item is null"); return; } } else { - etName.setText(""); - builder.setTitle(this.getString(R.string.menu_create_folder)); + etName.setText(""); // 如果为创建文件夹,则将EditText控件的文本设置为空 + builder.setTitle(this.getString(R.string.menu_create_folder)); // 设置对话框标题为"创建文件夹" } - builder.setPositiveButton(android.R.string.ok, null); - builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + builder.setPositiveButton(android.R.string.ok, null); // 设置对话框的"确定"按钮 + builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { // 设置对话框的"取消"按钮 public void onClick(DialogInterface dialog, int which) { - hideSoftInput(etName); + hideSoftInput(etName); // 隐藏软键盘 } }); - final Dialog dialog = builder.setView(view).show(); - final Button positive = (Button)dialog.findViewById(android.R.id.button1); - positive.setOnClickListener(new OnClickListener() { + final Dialog dialog = builder.setView(view).show(); // 创建对话框并显示 + final Button positive = (Button)dialog.findViewById(android.R.id.button1); // 获取对话框中的"确定"按钮 + positive.setOnClickListener(new OnClickListener() { // 设置"确定"按钮的点击事件 public void onClick(View v) { - hideSoftInput(etName); - String name = etName.getText().toString(); + hideSoftInput(etName); // 隐藏软键盘 + String name = etName.getText().toString(); // 获取EditText中的文本 if (DataUtils.checkVisibleFolderName(mContentResolver, name)) { - Toast.makeText(NotesListActivity.this, getString(R.string.folder_exist, name), + Toast.makeText(NotesListActivity.this, getString(R.string.folder_exist, name), // 检查文件夹名称是否已存在,如果存在则提示用户 Toast.LENGTH_LONG).show(); - etName.setSelection(0, etName.length()); + etName.setSelection(0, etName.length()); // 选中EditText中的文本 return; } - if (!create) { + if (!create) {// 如果不是创建文件夹 if (!TextUtils.isEmpty(name)) { - ContentValues values = new ContentValues(); + ContentValues values = new ContentValues();// 更新数据库中的文件夹名称 values.put(NoteColumns.SNIPPET, name); values.put(NoteColumns.TYPE, Notes.TYPE_FOLDER); values.put(NoteColumns.LOCAL_MODIFIED, 1); @@ -622,16 +631,16 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt }); } } else if (!TextUtils.isEmpty(name)) { - ContentValues values = new ContentValues(); + ContentValues values = new ContentValues();// 向数据库中插入文件夹数据 values.put(NoteColumns.SNIPPET, name); values.put(NoteColumns.TYPE, Notes.TYPE_FOLDER); mContentResolver.insert(Notes.CONTENT_NOTE_URI, values); } - dialog.dismiss(); + dialog.dismiss();// 关闭对话框 } }); - if (TextUtils.isEmpty(etName.getText())) { + if (TextUtils.isEmpty(etName.getText())) { // 如果EditText中的文本为空,则禁用"确定"按钮 positive.setEnabled(false); } /**