@Override protected void onPrepareDialog(int id, Dialog dialog) { Resources res = getResources(); StyledDialog ad = (StyledDialog) dialog; switch (id) { case DIALOG_CONTEXT_MENU: HashMap<String, String> card = mCards.get(mPositionInCardsList); int flags = Integer.parseInt(card.get("flags")); if (flags == 2 || flags == 3) { ad.changeListItem(CONTEXT_MENU_MARK, res.getString(R.string.card_browser_unmark_card)); Log.i(AnkiDroidApp.TAG, "Selected Card is currently marked"); } else { ad.changeListItem(CONTEXT_MENU_MARK, res.getString(R.string.card_browser_mark_card)); } if (flags == 1 || flags == 3) { ad.changeListItem( CONTEXT_MENU_SUSPEND, res.getString(R.string.card_browser_unsuspend_card)); Log.i(AnkiDroidApp.TAG, "Selected Card is currently suspended"); } else { ad.changeListItem( CONTEXT_MENU_SUSPEND, res.getString(R.string.card_browser_suspend_card)); } ad.setTitle(card.get("sfld")); break; case DIALOG_TAGS: mSelectedTags.clear(); ad.setMultiChoiceItems( allTags, new boolean[allTags.length], new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String tag = allTags[which]; if (mSelectedTags.contains(tag)) { Log.i(AnkiDroidApp.TAG, "unchecked tag: " + tag); mSelectedTags.remove(tag); } else { Log.i(AnkiDroidApp.TAG, "checked tag: " + tag); mSelectedTags.add(tag); } } }); break; } }