2012-01-16 17 views
20

Jak obsługiwać przycisk "Up" (SDK wersja 11+)? Mam na myśli tę u góry ekranu, na której znajduje się ikona aplikacji.Jak obsługiwać przycisk "Up"?

W artykułach dotyczących projektu Android został nazwany jako "przycisk w górę", ale nie znalazłem go (lub podobnego) w polach KeyEvent.

Odpowiedz

54

Wdrożenie onOptionsItemSelected() i obserwować android.R.id.home "menu" wydarzeń, jak to opisano w the documentation.

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
      // do something useful 
      return(true); 
    } 

    return(super.onOptionsItemSelected(item)); 
} 
+1

Hej, mam ten sam problem. Ale czy wiesz, jak zdobyć małą strzałę? Otwieram nową Aktywność za pomocą paska akcji i chcę użyć tego przycisku "w górę", aby powrócić do głównego ekranu. Dla SearchView automatycznie przełącza przycisk na ten z małą strzałką, ale jak? – Informatic0re

+4

@Mirko: Jeśli odnosisz się do tego, o czym myślę, że się powołujesz, spróbuj 'setHomeAsUpEnabled (true)', wywoływanego na twoim 'ActionBar'. – CommonsWare

+0

duża thx! właśnie tego szukałem. – Informatic0re

0

Pierwszy zmienić plik AndroidManifest.xml mieć aktywność rodzic oświadczył. Np.

<activity android:name=".theory" 
       android:parentActivityName=".MainActivity" 
     android:label="@string/theory" 
     /> 
    <activity android:name=".experimental" 
       android:parentActivityName=".MainActivity" 
     android:label="@string/exp" 
     /> 

Zrób to dla wszystkich czynności innych niż Główna Aktywność. Zanotuj parentActivityName kodu xml

Następnie przejdź do odpowiednich plików Java i dodaj następujący kod

ActionBar ab = getSupportActionBar(); 
    ab.setDisplayHomeAsUpEnabled(true); 

Ty masz się przycisk włączona teraz.