2012-01-29 9 views
11

Por alguna razón, al probar en mi Motorola Xoom con Ice Cream Sandwich, no se puede hacer clic en el icono de la aplicación en la barra de acciones, aunque he implementado un controlador de eventos. Esto solo ocurre después de cambiar targetSdkVersion a 15. Si es 13, todavía se puede hacer clic, incluso en ICS. ¿Por qué sucede esto y cómo puedo hacer que se pueda hacer clic como un botón? Busqué en la documentación y no pude encontrar nada.Android 4.0/ICS - Icono de la aplicación en la barra de acciones no se puede hacer clic

Gracias.

ACTUALIZACIÓN: Aquí está mi código:

AndroidManifest.xml:

... 
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" /> 
<application android:icon="@drawable/icon" android:label="@string/app_name" 
    android:theme="@style/android:Theme.Holo.Light"> 
... 

BaseActivity.java (mis actividades de todos heredan de esta clase:

... 
@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
      // app icon in action bar clicked; go home 
      Intent intent = new Intent(this, MainActivity.class); 
      intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      startActivity(intent); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 
... 
+0

Probado en el emulador? ¿Se puede hacer clic allí? – Leandros

+0

Acabo de probarlo en el emulador, y es el mismo que el Xoom; no se puede hacer clic cuando targetSdkVersion es 15, solo cuando es 13 (no intenté 14, pero no debería importar). – SZH

+0

Por favor incluya su código. – Leandros

Respuesta

25

me encontré en el documentación en http://developer.android.com/guide/topics/ui/actionbar.html:

Nota: Si usa el ícono para navegar a la actividad hogareña, tenga en cuenta que a partir de Android 4.0 (nivel API 14), debe habilitar explícitamente el ícono como elemento de acción llamando a setHomeButtonEnabled (true) (en versiones anteriores, el ícono fue habilitado como un elemento de acción por defecto).

0

¿Le gustaría usar el siguiente código:

ActionBar actionBar = getSupportActionBar(); 
actionBar.setHomeButtonEnabled(true); 
+2

¡Bienvenido a SO! Esta pregunta fue respondida hace casi dos años; edite su respuesta para darle un contexto sobre por qué podría ser útil una vez resuelto el problema del PO. Simplemente presentar código sin información adicional no es útil en Stack Overflow. – Derek

+0

@Derek segundo eso. ¿Por qué las personas vuelven a responder sin agregar nada nuevo a las soluciones propuestas? Me supera. No se toman medidas si reportamos estas publicaciones tampoco. – Sufian

Cuestiones relacionadas