Anulando onContextItemSelected () en ActionBarSherlock

Tengo una clase que extiende SherlockActivity porque estoy usando una barra de acción ActionBarSherlock en la actividad. Sin embargo, también estoy tratando de agregar un menú contextual a un listview en esta actividad que se inicia cuando un elemento en el listview es longpressed. Estoy recibiendo un error en mi declaración de onContextItemSelected(MenuItem item) que dice que mi anulación no es válida porque no hay nada que anular. Sin embargo, cuando quito la anulación, la función nunca se llama. Sé que esto tiene algo que ver con la forma SherlockActivity hereda de la actividad, pero no estoy seguro acerca de los detalles. Tal vez estoy perdiendo una importación? Vea el código relevante aquí:

 public class Inbox extends SherlockActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_inbox); refreshMsgs(this.getCurrentFocus()); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); if (v.getId() == R.id.lstInbox){ AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo; String contactName = lstConversation.get(info.position).getContactName(); menu.setHeaderTitle(contactName); menu.add(Menu.NONE, 0, 0, "View contact"); menu.add(Menu.NONE, 1, 1, "Delete thread"); } } @Override public boolean onContextItemSelected(MenuItem item) { AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); SmsConversation selectedConvo = lstConversation.get(info.position); if (item.getItemId() == 0){ //view contact Intent viewcontactIntent = new Intent(); String contactId = selectedConvo.getContactId(); Uri uriContact = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, contactId); viewcontactIntent.setData(uriContact); PendingIntent pViewIntent = PendingIntent.getActivity(getBaseContext(), 1, viewcontactIntent, 0); try { pViewIntent.send(); } catch (CanceledException e) { e.printStackTrace(); } } else { //DELETE thread } return true; } } 

Y aquí están todas mis importaciones para la clase:

 import java.util.ArrayList; import com.actionbarsherlock.app.SherlockActivity; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; import com.actionbarsherlock.view.MenuInflater; import android.app.Activity; import android.app.PendingIntent; import android.app.PendingIntent.CanceledException; import android.content.ContentResolver; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract; import android.text.Html; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; 

Frente a un problema similar hace mucho tiempo, he sobrepasado onContextItemSelected() forzando el MenuItem normal usando su nombre de clase totalmente calificado ( android.view.MenuItem ), así:

 @Override public boolean onContextItemSelected (android.view.MenuItem item) { //implementation } 
  • ¿Cómo puedo eliminar el título y el icono de forma completa en Actionbar sherlock?
  • ActionBarSherlock no funciona en eclipse
  • Errores de Android SlidingMenu al hacer referencia a ABS
  • Excepción de puntero nulo mostrando en la barra de acción sherlock library
  • ActionBarSherlock + Maps + Loaders = java.lang.NoClassDefFoundError
  • Android personalizado IcsSpinner (de ActionBarSherlock)
  • ActionBarSherlock - Tab Text ellipsize en <dispositivos Android 3.0
  • No hay tema disponible mientras usa Maven
  • Fuente personalizada para las pestañas de ActionBarSherlock
  • Cómo cambiar la pestaña ActionBarSherlock ¿Color de texto?
  • Parámetros de diseño de Actionbarsherlock (alinee NAVIGATION_MODE_TABS en la parte inferior)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.