Menu-note-list NotelistActivity //背景图功能 public int mode=-1; // 私密模式 public static int secret_mode = 0; // 背景图功能 getWindow().setBackgroundDrawableResource(R.drawable.a3); getWindow().setBackgroundDrawableResource(R.drawable.a2); getWindow().setBackgroundDrawableResource(R.drawable.a1); // 背景功能 if(mode==-1) menu.findItem(R.id.menu_a1).setVisible(false); else if (mode==0) menu.findItem(R.id.menu_a2).setVisible(false); else if (mode==1) menu.findItem(R.id.menu_a3).setVisible(false); // 背景功能 case R.id.menu_a1:{ mode=-1; getWindow().setBackgroundDrawableResource(R.drawable.a1); break; } case R.id.menu_a2:{ mode=0; getWindow().setBackgroundDrawableResource(R.drawable.a2); break; } case R.id.menu_a3:{ mode=1; getWindow().setBackgroundDrawableResource(R.drawable.a3); break; } Values_string Background: a2 Background: a1 Background: a3 if(secret_mode == 1)menu.findItem(R.id.menu_secret).setVisible(false); else menu.findItem(R.id.menu_quit_secret).setVisible(false); public void supportInvalidateOptionsMenu() { invalidateOptionsMenu(); // 最终调用 Activity 的原生方法 } case R.id.menu_secret: { // 进入私密模式 secret_mode = 1; // 先临时设为1(用于对话框标题提示) AlertDialog.Builder dialog = new AlertDialog.Builder(NotesListActivity.this); dialog.setTitle("重要提醒") .setMessage("您确认进入私密模式吗?") .setCancelable(false) .setPositiveButton("确认", (d, which) -> { startAsyncNotesListQuery(); Toast.makeText(NotesListActivity.this, "您已进入私密模式", Toast.LENGTH_SHORT).show(); }) .setNegativeButton("取消", (d, which) -> { secret_mode = 0; // 恢复状态 supportInvalidateOptionsMenu(); // 强制刷新菜单 }) .show(); break;} case R.id.menu_quit_secret: { // 退出私密模式 AlertDialog.Builder dialog = new AlertDialog.Builder(NotesListActivity.this); dialog.setTitle("重要提醒") .setMessage("您确认退出私密模式吗?") .setCancelable(false) .setPositiveButton("确认", (d, which) -> { secret_mode = 0; startAsyncNotesListQuery(); supportInvalidateOptionsMenu(); // 刷新菜单 Toast.makeText(NotesListActivity.this, "您已退出私密模式", Toast.LENGTH_SHORT).show(); }) .setNegativeButton("取消", null) // 无需操作 .show(); break; } Values_string ShareActionProvider public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.note_list, menu); MenuItem enterSecret = menu.findItem(R.id.menu_secret); MenuItem quitSecret = menu.findItem(R.id.menu_quit_secret); enterSecret.setVisible(secret_mode == 0); // 非私密模式时显示"进入" quitSecret.setVisible(secret_mode == 1); // 私密模式时显示"退出" return true; } secret model quit secret model Menu_Sub_folder // 私密模式 public static int secret_mode = 0; private void startAsyncNotesListQuery() { String selection = (mCurrentFolderId == Notes.ID_ROOT_FOLDER) ? ROOT_FOLDER_SELECTION : NORMAL_SELECTION; if(secret_mode == 0) { mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null, Notes.CONTENT_NOTE_URI, NoteItemData.PROJECTION, selection, new String[]{ String.valueOf(mCurrentFolderId) }, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC"); } else{ String str1 = "111"; String [] PROJECTION = new String [] { //定义一个新的PROJECTION数组,只换掉SNIPPET NoteColumns.ID, NoteColumns.ALERTED_DATE, NoteColumns.BG_COLOR_ID, NoteColumns.CREATED_DATE, NoteColumns.HAS_ATTACHMENT, NoteColumns.MODIFIED_DATE, NoteColumns.NOTES_COUNT, NoteColumns.PARENT_ID, // NoteColumns.SNIPPET, str1, NoteColumns.TYPE, NoteColumns.WIDGET_ID, NoteColumns.WIDGET_TYPE, }; mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null, Notes.CONTENT_NOTE_URI, PROJECTION, selection, new String[]{ String.valueOf(mCurrentFolderId) }, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC"); } }