Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 12th, 2012  |  syntax: None  |  size: 3.93 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. onOptionsItemSelected doesn't call in Android
  2. @Override
  3. public boolean onPrepareOptionsMenu(Menu menu) {
  4.     super.onPrepareOptionsMenu(menu);
  5.  
  6.     String displayText = dateFormatFull.format(new Date());
  7.     switch(iCurrentAgendaViewType) {
  8.         case AgendaView.viewMode.DAY:
  9.             displayText = dateFormatFull.format(CurrentAgendaView.GetViewStartDate().getTime()).toString();
  10.             break;
  11.         case AgendaView.viewMode.WEEK:
  12.             displayText = dateFormatFull.format(CurrentAgendaView.GetViewStartDate().getTime()).toString();
  13.             break;
  14.         case AgendaView.viewMode.MONTH:
  15.             displayText = dateFormatMonth.format(CurrentAgendaView.GetCurrentSelectedMonthAsCalendar().getTime()).toString();
  16.             break;
  17.     }
  18.  
  19.     if (iCurrentAgendaViewType == AgendaView.viewMode.TODAY) {
  20.         menu.add(Menu.NONE, android.R.id.button2, 1, displayText).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
  21.     } else {
  22.             menu.add(Menu.NONE, R.drawable.ic_arrow_left, 0, "").setIcon(R.drawable.ic_arrow_left).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
  23.         menu.add(Menu.NONE, android.R.id.button2, 1, displayText).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
  24.         menu.add(Menu.NONE, R.drawable.ic_arrow_right, 2, "").setIcon(R.drawable.ic_arrow_right).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
  25.     }
  26.  
  27.     return true;
  28.   }
  29.  
  30.  
  31. @Override
  32.   public boolean onOptionsItemSelected(MenuItem item)
  33.   {
  34.         if (DEBUG) {
  35.                 Log.d(TAG, "============ onOptionsItemSelected ===========");
  36.         }
  37.  
  38.       switch (item.getItemId())
  39.       {
  40.         case R.drawable.ic_arrow_left:
  41.             CurrentAgendaView.SetPrevViewItem();
  42.                 RefreshAgendaAfterViewItemChange();
  43.                 return true;
  44.         case R.drawable.ic_arrow_right:
  45.             CurrentAgendaView.SetNextViewItem();
  46.                 RefreshAgendaAfterViewItemChange();
  47.                 return true;
  48.           case miNewAppt:
  49.             openActAppointment(-1, -1, -1);
  50.             return true;
  51.           case miNewTask:
  52.             openActTask(-1);
  53.             return true;
  54.           case miNewNote:  
  55.             openActNote(-1);
  56.             return true;
  57.           case miShowAllTasks:
  58.           {
  59.             item.setChecked(!item.isChecked());        
  60.             prefs.bShowAllTasks = item.isChecked();
  61.             prefs.Save();
  62.             refreshData();
  63.             menuItemUpdateIcons(item);
  64.             return true;
  65.           }
  66.           case miOptions:
  67.             openActOptions();
  68.             return true;
  69.           case mTimeZone:
  70.             showTimeZone();
  71.             return true;
  72.           case miAbout:
  73.             openActViewAbout();
  74.             return true;
  75.           default:
  76.             return super.onOptionsItemSelected(item);
  77.       }
  78.   }
  79.        
  80. public abstract class CommonActivity extends Activity {
  81.  
  82.      @Override
  83.      public boolean onMenuItemSelected(int featureId, MenuItem item)
  84.      {
  85.          if (item.getItemId() == android.R.id.home){
  86.              finish();
  87.           }
  88.  
  89.           return true;
  90.       }
  91.  
  92.     }
  93.  
  94.      public class AnCal extends CommonActivity implements OnNavigationListener{
  95.  
  96.       @Override
  97.       public boolean onCreateOptionsMenu(Menu menu)
  98.       {
  99.           String displayText = getCurrentViewDateText();
  100.           if (iCurrentAgendaViewType == AgendaView.viewMode.TODAY) {    
  101.               menu.add(Menu.NONE, android.R.id.button2, 1, displayText).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
  102.      } else {
  103.                 menu.add(Menu.NONE, android.R.id.button1, 0, "Prev").setIcon(R.drawable.ic_arrow_left).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
  104.                 menu.add(Menu.NONE, android.R.id.button2, 1, displayText).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
  105.                 menu.add(Menu.NONE, android.R.id.button3, 2, "Next").setIcon(R.drawable.ic_arrow_right).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
  106.         }
  107.  
  108.             return super.onCreateOptionsMenu(menu);
  109.         }