- onOptionsItemSelected doesn't call in Android
- @Override
- public boolean onPrepareOptionsMenu(Menu menu) {
- super.onPrepareOptionsMenu(menu);
- String displayText = dateFormatFull.format(new Date());
- switch(iCurrentAgendaViewType) {
- case AgendaView.viewMode.DAY:
- displayText = dateFormatFull.format(CurrentAgendaView.GetViewStartDate().getTime()).toString();
- break;
- case AgendaView.viewMode.WEEK:
- displayText = dateFormatFull.format(CurrentAgendaView.GetViewStartDate().getTime()).toString();
- break;
- case AgendaView.viewMode.MONTH:
- displayText = dateFormatMonth.format(CurrentAgendaView.GetCurrentSelectedMonthAsCalendar().getTime()).toString();
- break;
- }
- if (iCurrentAgendaViewType == AgendaView.viewMode.TODAY) {
- menu.add(Menu.NONE, android.R.id.button2, 1, displayText).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
- } else {
- menu.add(Menu.NONE, R.drawable.ic_arrow_left, 0, "").setIcon(R.drawable.ic_arrow_left).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
- menu.add(Menu.NONE, android.R.id.button2, 1, displayText).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
- menu.add(Menu.NONE, R.drawable.ic_arrow_right, 2, "").setIcon(R.drawable.ic_arrow_right).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
- }
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item)
- {
- if (DEBUG) {
- Log.d(TAG, "============ onOptionsItemSelected ===========");
- }
- switch (item.getItemId())
- {
- case R.drawable.ic_arrow_left:
- CurrentAgendaView.SetPrevViewItem();
- RefreshAgendaAfterViewItemChange();
- return true;
- case R.drawable.ic_arrow_right:
- CurrentAgendaView.SetNextViewItem();
- RefreshAgendaAfterViewItemChange();
- return true;
- case miNewAppt:
- openActAppointment(-1, -1, -1);
- return true;
- case miNewTask:
- openActTask(-1);
- return true;
- case miNewNote:
- openActNote(-1);
- return true;
- case miShowAllTasks:
- {
- item.setChecked(!item.isChecked());
- prefs.bShowAllTasks = item.isChecked();
- prefs.Save();
- refreshData();
- menuItemUpdateIcons(item);
- return true;
- }
- case miOptions:
- openActOptions();
- return true;
- case mTimeZone:
- showTimeZone();
- return true;
- case miAbout:
- openActViewAbout();
- return true;
- default:
- return super.onOptionsItemSelected(item);
- }
- }
- public abstract class CommonActivity extends Activity {
- @Override
- public boolean onMenuItemSelected(int featureId, MenuItem item)
- {
- if (item.getItemId() == android.R.id.home){
- finish();
- }
- return true;
- }
- }
- public class AnCal extends CommonActivity implements OnNavigationListener{
- @Override
- public boolean onCreateOptionsMenu(Menu menu)
- {
- String displayText = getCurrentViewDateText();
- if (iCurrentAgendaViewType == AgendaView.viewMode.TODAY) {
- menu.add(Menu.NONE, android.R.id.button2, 1, displayText).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
- } else {
- menu.add(Menu.NONE, android.R.id.button1, 0, "Prev").setIcon(R.drawable.ic_arrow_left).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
- menu.add(Menu.NONE, android.R.id.button2, 1, displayText).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
- menu.add(Menu.NONE, android.R.id.button3, 2, "Next").setIcon(R.drawable.ic_arrow_right).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
- }
- return super.onCreateOptionsMenu(menu);
- }