コード例 #1
0
 @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;
   }
 }