6

Tengo pantalla de preferencias extendida PreferenceActivity. Para orientarme a OS 4.0.3, quería agregar el icono < en la barra de acciones, así que lo hice en onCreate().setHomeButtonEnabled en PreferenceActivity y preferencia anidada

ActionBar actionBar = getActionBar(); 
actionBar.setHomeButtonEnabled(true); 
actionBar.setDisplayHomeAsUpEnabled(true); 

Funcionó. < se agregó a la izquierda del icono de la aplicación. Pero cuando toco el elemento que pasa al siguiente nivel (más pantalla de detalles), el < no se mostrará. Volviendo al nivel superior, aparece nuevamente el <.

Nunca he pensado en un mecanismo de preferencia anidada ya que el código inteligente PreferenceActivity lo oculta. Ahora mi pregunta es, ¿por qué no mostrará PreferenceActivity el < en preferencia anidada?

No quiero argumentar que no necesito agregar < a la pantalla de preferencias. (Incluso algunas aplicaciones de Google agregan, otras no, por lo que creo que no existe una regla sólida para esto.)

Si hay una solución simple para esto, quiero resolver este problema.

Respuesta

1

En lugar de añadir dinámicamente esto, se debe añadir la flecha, escribiendo un estilo Barra de acciones a medida para ser utilizado con el tema de la aplicación. (Básicamente, ver https://stackoverflow.com/a/16247111/582004)

+0

No pude hacer que tu solución funcione. Obtuve "No se encontró ningún recurso que coincida con el nombre de pila (en 'tema' con el valor '@android: estilo/MiTema').". Busqué en Google para resolver esto pero fallé. – Tomcat

+0

¿Ya tiene un styles.xml? Si es así, agregue el tema definido en