2012-01-29 6 views
11

Per qualche motivo, durante il test sul mio Motorola Xoom con Ice Cream Sandwich, l'icona dell'app nella barra delle azioni non è selezionabile, anche se ho implementato un gestore di eventi. Questo si verifica solo dopo aver cambiato targetSdkVersion su 15. Se è 13 è ancora cliccabile, anche su ICS. Perché sta accadendo questo e come posso renderlo cliccabile come un pulsante? Ho cercato la documentazione e non ho trovato nulla.Android 4.0/ICS - Icona app sulla barra delle azioni non selezionabile

Grazie.

UPDATE: Ecco il mio codice:

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 (le mie attività tutti ereditano da questa classe:

... 
@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

Testato sull'emulatore? È cliccabile lì? – Leandros

+0

Appena testato sull'emulatore, è lo stesso di Xoom; non è cliccabile quando targetSdkVersion è 15, solo quando è 13 (non ho provato 14, ma non dovrebbe essere importante). – SZH

+0

Si prega di includere il codice. – Leandros

risposta

25

ho trovato nel documentazione a http://developer.android.com/guide/topics/ui/actionbar.html:

Nota: se si sta utilizzando l'icona per navigare all'attività di casa, fare attenzione che a partire da Android 4.0 (livello API 14), è necessario abilitare esplicitamente l'icona come elemento di azione chiamando setHomeButtonEnabled (true) (nelle versioni precedenti, l'icona è stata abilitata come azione per impostazione predefinita).

0

Vuoi utilizzare il seguente codice:

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

Benvenuti in SO! A questa domanda è stata data risposta quasi due anni fa - ti preghiamo di modificare la tua risposta per dargli un contesto sul motivo per cui potrebbe essere utile dopo che il problema dell'OP è stato risolto. La semplice presentazione del codice senza ulteriori informazioni non è utile su Stack Overflow. – Derek

+0

@Derek secondo. Perché le persone che rispondono senza aggiungere nulla di nuovo alle soluzioni proposte, è al di là di me. Nessuna azione è intrapresa se segnaliamo questi post neanche. – Sufian

Problemi correlati