@Override public void onListItemClick(final ListView l, final View v, final int position, final long id) { final Cursor cursor = (Cursor) adapter.getItem(position); final ExchangeRate exchangeRate = ExchangeRatesProvider.getExchangeRate(cursor); activity.startActionMode( new ActionMode.Callback() { @Override public boolean onCreateActionMode(final ActionMode mode, final Menu menu) { final MenuInflater inflater = mode.getMenuInflater(); inflater.inflate(R.menu.exchange_rates_context, menu); return true; } @Override public boolean onPrepareActionMode(final ActionMode mode, final Menu menu) { mode.setTitle(exchangeRate.getCurrencyCode()); mode.setSubtitle( getString(R.string.exchange_rates_fragment_source, exchangeRate.source)); return true; } @Override public boolean onActionItemClicked(final ActionMode mode, final MenuItem item) { switch (item.getItemId()) { case R.id.exchange_rates_context_set_as_default: handleSetAsDefault(exchangeRate.getCurrencyCode()); mode.finish(); return true; } return false; } @Override public void onDestroyActionMode(final ActionMode mode) {} private void handleSetAsDefault(final String currencyCode) { config.setExchangeCurrencyCode(currencyCode); WalletBalanceWidgetProvider.updateWidgets(activity, wallet); } }); }