Staram się wyświetlał Back button
na Action bar
przenieść poprzednia strona / aktywność lub na stronie głównej (pierwszy otwór). I nie mogę tego zrobić.
mój kod.
ActionBar actionBar = getActionBar();
actionBar.setHomeButtonEnabled(true);
kod jest w onCreate
.
android
android-actionbar
android-homebutton
Dany Maor
źródło
źródło
Odpowiedzi:
cóż, to jest prosty, aby wyświetlić przycisk Wstecz
a następnie możesz dostosować zdarzenie wsteczne w onOptionsItemSelected
źródło
Myślę
onSupportNavigateUp()
to najlepszy i najłatwiejszy sposób, aby to zrobić, sprawdź poniższe kroki. Krok 1 jest konieczny, krok drugi ma alternatywę.Krok 1 pokazuje przycisk Wstecz: Dodaj tę linię
onCreate()
metodzie, aby wyświetlić przycisk Wstecz.Krok 2 wdrożenie kliknięcia wstecz: Zastąp tę metodę
to już koniec
LUB Krok 2 Alternatywa: Możesz dodać meta do działania w pliku manifestu jako
Edycja: jeśli nie korzystasz z
AppCompat
działania, nie używajsupport
słowa, możesz użyćDzięki @atariguy za komentarz.
źródło
onOptionsItemSelected
rozwiązań, ale tego nie zrobiłem.getActionBar().setDisplayHomeAsUpEnabled(true);
@Override public boolean onNavigateUp(){ finish(); return true; }
Magia dzieje się w
onOptionsItemSelected
.źródło
getActionBar().setDisplayHomeAsUpEnabled(true);
Najpierw dodaj przyciskthis.onBackPressed();
metody, gdy użytkownik kliknie przycisk Wstecz.Oficjalne rozwiązanie
Dodaj te dwa fragmenty kodu do SubActivity
dodaj metadane i parentActivity do manifestu, aby obsługiwać niższe sdk.
Odnośnik tutaj: http://developer.android.com/training/implementing-navigation/ancestral.html
źródło
Dodaj te linie do onCreate ()
oraz w onOptionItemSelected
Mam nadzieję, że to ci pomoże ...!
źródło
Wypróbuj ten kod, uważa go tylko, jeśli potrzebujesz przycisku Wstecz.
źródło
W
onCreate
metodzie dodaj:Podczas definiowania w działaniu
AndroidManifest.xml
nadrzędnym (działanie, które zostanie wywołane po naciśnięciu przycisku Wstecz na pasku działań):W swojej
<activity>
definicji manifestu dodaj wiersz:źródło
Wiem, że jestem trochę spóźniony, ale udało mi się rozwiązać ten problem, wykonując bezpośrednio dokumenty .
Dodaj znacznik metadanych do
AndroidManifest.xml
(aby system wiedział)Następnie włącz przycisk Wstecz (góra) w swoim
MainActivity
I wszystko będzie gotowe!
Źródło: Dokumentacja programisty Androida
źródło
Wiem, że powyższe są wieloma przydatnymi rozwiązaniami, ale tym razem przeczytałem ten artykuł (obecny Android Studio 2.1.2 z sdk 23). Niektóre powyższe metody nie działają.
Poniżej moje rozwiązanie dla poddziałania to MapsActivity
Najpierw musisz dodać ParentActivity do
lubię to :
Po drugie, upewnij się, że Twoja poddziałanie się rozszerza
AppCompatActivity
, a nie FragmentActivity.Po trzecie,
onOptionsItemSelected()
metoda przesłonięciaMam nadzieję, że to pomoże!
źródło
Spróbuj tego, w swoim onCreate ()
I dla clickevent
źródło
Aby to osiągnąć, są po prostu dwa kroki,
Krok 1: Przejdź do
AndroidManifest.xml
tego parametru i dodaj go do<activity>
tagu -android:parentActivityName=".home.HomeActivity"
Przykład:
Krok 2:
ActivityDetail
Dodaj swojąaction
poprzednią stronę / aktywnośćPrzykład:
źródło
w metodzie onCreate pisać
a to jest plik xml
i w styles.xml zmień to na
to wszystko, co musimy zrobić.
źródło
To jest proste i działa dla mnie bardzo dobrze
dodaj to wewnątrz metody onCreate ()
dodaj tę zewnętrzną metodę oncreate ()
źródło
W swojej
onCreate()
metodzie dodaj ten wierszi w tej samej działalności dodaj tę metodę, aby obsłużyć kliknięcie przycisku
źródło
Rozwiązałem w ten sposób
źródło
mój działający kod, aby wrócić do ekranu.
źródło
źródło
źródło
Na odpowiedź może być za późno, ale moim zdaniem mam krótsze i bardziej funkcjonalne rozwiązanie.
źródło
źródło
Manifest.xml
źródło
Aby wyświetlić przycisk powrotu paska akcji w Kotlinie można go zaimplementować na 2 sposoby
1. Korzystanie z domyślnego paska akcji udostępnianego przez system Android - Twoja aktywność musi korzystać z motywu zawierającego pasek akcji - np .: Theme.AppCompat.Light.DarkActionBar
2. Zaprojektuj własny pasek akcji - wyłącz domyślny pasek akcji - np .: Theme.AppCompat.Light.NoActionBar - dodaj układ do pliku activity.xml
źródło
Dodaj poniższy kod w funkcji onCreate:
getSupportActionBar (). setDisplayHomeAsUpEnabled (true);
A następnie zastąp: @Override public boolean onOptionsItemSelected (element MenuItem) {onBackPressed (); zwróć prawdę; }
źródło
W zaktualizowanej wersji getActionBar () nie działa!
Zamiast tego możesz to zrobić w ten sposób
dodaj przycisk Wstecz na pasku tytułu Androida, co pomoże Ci w 2020 roku
źródło