2012-01-23 13 views
14

Possiamo usare il metodo setDisplayHomeAsUpEnabled() su un'attività per visualizzare la freccia "su" sulla barra delle azioni.setDisplayHomeAsUpEnabled() + Freccia su?

Se ho capito bene, dovremmo solo mostrare la freccia su se non siamo l'attività di root.

Fare clic sulla freccia "su" dovrebbe portarci all'attività della radice. È tutto lì? Dovrei quindi aggiungere questa chiamata a tutte le mie attività in questo modo:

class RootActivity { 
    public void onCreate() { 
     setDisplayHomeAsUpEnabled(false); 
    } 
} 

class AppleActivity { 
    public void onCreate() { 
     setDisplayHomeAsUpEnabled(true); 
    } 
} 

class OrangeActivity { 
    public void onCreate() { 
     setDisplayHomeAsUpEnabled(true); 
    } 
} 

... 

risposta

26

Sì, è quasi tutto.

Fare clic sulla freccia su dovrebbe portarti verso la radice.

e non dimenticare di gestire realmente il clic in onOptionsItemSelected controllando l'id voce contro android.R.id.home

+1

Salve, una distinzione che non sono chiare su - sta colpendo la freccia in alto dovrebbe cancellare l'intero stack di attività e riportare l'utente all'attività di root? (Penso che lo sia, e usano il back-key se invece vogliono andare indietro nello stack). Grazie! – user291701

+5

No, non necessariamente. Puoi leggere a riguardo [qui] (http://developer.android.com/design/patterns/navigation.html) – lordl

Problemi correlati