Pregunta

Mi problema es que tengo una TabActivity, que tiene 4 aquí en este momento. La primera pestaña es un especial-Tab, donde el usuario puede modificar algunos datos.

El problema es, que si añado un menú Opciones de la actividad, que el menú Opciones está apareciendo en cada pestaña. He intentado comprobar la corriente mTabHost.getCurrentTabTag () en la onCreateOptionsMenu pero eso no cambió nada. Entonces, ¿cómo hacer eso?

(El código siguiente, que todavía muestra el menú Opciones en cada Tab)

 public boolean onCreateOptionsMenu(Menu menu) {    
  if(mTabHost.getCurrentTabTag()==getString(R.string.tab_details)) {
   boolean result = super.onCreateOptionsMenu(menu);
   menu.add(0, EDIT_ID, 0, R.string.menu_edit).setIcon(R.drawable.edit);
   return result;
  }    

  return true;
 }

 public boolean onMenuItemSelected(int featureId, MenuItem item) {
  switch (item.getItemId()) {
       case EDIT_ID: {   
        Toast.makeText(this, "o.O", Toast.LENGTH_LONG).show();   
       }
  }

  return super.onMenuItemSelected(featureId, item);
 } 
¿Fue útil?

Solución

veo que usted está comparando cadenas (etiquetas), de hecho, con ==, por lo general, esto es más agradable de hacer eso con el método .equals(). Tal vez se va a resolver su problema.
Para actualizar dinámicamente un menú de opciones (de la documentación):

  

Si desea cambiar las opciones   Menú cada vez que se abre, debe   anular la onPrepareOptionsMenu ()

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top