List of usage examples for android.view View startActionMode
public ActionMode startActionMode(ActionMode.Callback callback)
From source file:com.forrestguice.suntimeswidget.TimeZoneDialog.java
/** * trigger the time zone ActionMode/*from www .j a va 2s . c o m*/ * @param view the view that is triggering the ActionMode * @return true ActionMode started, false otherwise */ private boolean triggerTimeZoneActionMode(View view) { if (this.actionMode != null) return false; // ActionMode for HONEYCOMB (11) and above if (Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) { Dialog dialog = getDialog(); if (dialog == null) return false; View v = dialog.getWindow().getDecorView(); if (v == null) return false; ActionMode actionMode = v .startActionMode(new WidgetTimezones.TimeZoneSpinnerSortAction(getContext(), spinner_timezone) { @Override public void onSortTimeZones(WidgetTimezones.TimeZoneItemAdapter result, WidgetTimezones.TimeZoneSort sortMode) { super.onSortTimeZones(result, sortMode); spinner_timezone_adapter = result; WidgetTimezones.selectTimeZone(spinner_timezone, spinner_timezone_adapter, customTimezoneID); } @Override public void onSaveSortMode(WidgetTimezones.TimeZoneSort sortMode) { super.onSaveSortMode(sortMode); AppSettings.setTimeZoneSortPref(getContext(), sortMode); } @Override public void onDestroyActionMode(ActionMode mode) { super.onDestroyActionMode(mode); TimeZoneDialog.this.actionMode = null; } }); this.actionMode = actionMode; actionMode.setTitle(getString(R.string.timezone_sort_contextAction)); } else { // LEGACY; ActionMode for pre HONEYCOMB AppCompatActivity activity = (AppCompatActivity) getActivity(); android.support.v7.view.ActionMode actionMode = activity.startSupportActionMode( new WidgetTimezones.TimeZoneSpinnerSortActionCompat(getContext(), spinner_timezone) { @Override public void onSortTimeZones(WidgetTimezones.TimeZoneItemAdapter result, WidgetTimezones.TimeZoneSort sortMode) { super.onSortTimeZones(result, sortMode); spinner_timezone_adapter = result; WidgetTimezones.selectTimeZone(spinner_timezone, spinner_timezone_adapter, customTimezoneID); } @Override public void onSaveSortMode(WidgetTimezones.TimeZoneSort sortMode) { super.onSaveSortMode(sortMode); AppSettings.setTimeZoneSortPref(context, sortMode); } @Override public void onDestroyActionMode(android.support.v7.view.ActionMode mode) { super.onDestroyActionMode(mode); TimeZoneDialog.this.actionMode = null; } }); if (actionMode != null) { this.actionMode = actionMode; actionMode.setTitle(getString(R.string.timezone_sort_contextAction)); } } view.setSelected(true); return true; }