@Override public void onItemClick( final AdapterView<?> parent, final View view, final int position, final long id) { final ListView lv = (ListView) parent; final Payload payload = (Payload) lv.getAdapter().getItem(position); if (payload.intentable()) { parent.getContext().startActivity(payload.toIntent(parent.getContext())); } else if (!this.clickListener.payloadClicked(payload)) { Toast.makeText( parent.getContext(), "Do not know how to show: " + payload.getTitle(), Toast.LENGTH_LONG) .show(); } }