2011-11-18 15 views
5

Ho appena aggiornato la mia applicazione Android dal livello 13 a 14, utilizzando il simulatore 4.0.Android 4.0 - onMenuItemSelected (int, Menu)

qualcuno che utilizza il livello 14 API può confermare che c'è un problema con

@Override 
public boolean onMenuItemSelected(int featureId, MenuItem item) 
{ 
switch(item.getItemId()) 
      { 
       case android.R.id.home: 
... 
} 

funzione? Se compilo con il livello 13 api, posso cliccare sull'icona principale dell'attività (sinistra in alto) e vado a questo metodo nel caso r.id.home, ma con l'aggiornamento a livello API 14 quella funzione non viene chiamata e sembra l'icona non è cliccabile :(

mi chiedo solo se si tratta di un bug in questo solo api appena rilasciata ..

risposta

3

non sono sicuro circa il sovraccarico che si sta utilizzando per onOptionsItemSelected. il riferimento Android dimostra che l'unica sovraccarico onOptionsItemSelected (MenuItem) e la seguente è sicuramente lavorando per me:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case android.R.id.home: 
+0

hai l'ultimo emulatore, 4.0 piattaforma api 14? so cosa dicono i riferimenti .. –

+0

Ho effettuato la migrazione indietro a 3.2 e lo stesso problema è andato via, l'icona predefinita in alto a sinistra è cliccabile e la funzione menzionata in alto è chiamata .. bdw non ho migrato causa dell'icona ma a causa di questo http://stackoverflow.com/questions/8200865/android-emulator-platform-4-0-startup-problems –

5

Dalla documentazione barra azioni:

Nota: Se si sta utilizzando l'icona per accedere alla attività di casa, attenzione che inizio con Android 4.0 (API di livello 14), è necessario abilitare esplicitamente l'icona come un elemento di azione chiamando setHomeButtonEnabled (true) (nelle versioni precedenti, l'icona era abilitata come elemento di azione per impostazione predefinita ).