|
|
|
@ -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);
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|