public void onItemClick (final @Nonnull AdapterView<?> adapterView, final @Nonnull View view, final int index, final long id) { try { final ActionEvent actionEvent = new ActionEvent(view, ActionEvent.ACTION_PERFORMED, "actionPerformed"); getItem(index).as(ActionProvider).getDefaultAction().actionPerformed(actionEvent); } catch (AsException e) { // ok, no ActionProvider } catch (NotFoundException e) { // ok, no default Action } } };
/******************************************************************************************************************* * * ******************************************************************************************************************/ public boolean onContextItemSelected (final @Nonnull MenuItem item) { final AdapterContextMenuInfo info = (AdapterContextMenuInfo)item.getMenuInfo(); try { final ActionProvider actionProvider = getItem(info.position).as(ActionProvider); final Action[] actions = actionProvider.getActions().toArray(new Action[0]); final int menuIndex = item.getItemId(); actions[menuIndex].actionPerformed(new ActionEvent(this, ActionEvent.ACTION_PERFORMED, "actionPerformed")); } catch (AsException e) { return false; // no ActionProvider } return true; } }
final Action action = presentationModel.as(ActionProvider).getDefaultAction(); final Integer resource = AndroidMediaNodeRenderer.ICON_MAP_BY_ICON_KEY.get(action.getValue(Action.LARGE_ICON_KEY));
/******************************************************************************************************************* * * ******************************************************************************************************************/ public void onCreateContextMenu (final @Nonnull ContextMenu menu, final @Nonnull View view, final @Nonnull ContextMenuInfo menuInfo) { final AdapterContextMenuInfo info = (AdapterContextMenuInfo)menuInfo; try { final ActionProvider actionProvider = getItem(info.position).as(ActionProvider); int id = 0; for (final Action action : actionProvider.getActions()) { final MenuItem menuItem = menu.add(0, id++, 0, (String)action.getValue(Action.NAME)); menuItem.setEnabled(action.isEnabled()); } } catch (AsException e) { // ok, no ActionProvider } }