Chcę zrobić coś prostego w aplikacji na Androida. Jak można wrócić do poprzedniej aktywności.
Jakiego kodu potrzebuję, aby wrócić do poprzedniej aktywności
Chcę zrobić coś prostego w aplikacji na Androida. Jak można wrócić do poprzedniej aktywności.
Jakiego kodu potrzebuję, aby wrócić do poprzedniej aktywności
Odpowiedzi:
Działania na Androida są przechowywane w stosie działań. Powrót do poprzedniej czynności może oznaczać dwie rzeczy.
Otworzyłeś nowe działanie z innego działania za pomocą startActivityForResult . W takim przypadku możesz po prostu wywołać funkcję finishActivity () z kodu, a to zabierze Cię z powrotem do poprzedniej aktywności.
Śledź stos aktywności. Za każdym razem, gdy zaczynasz nowe działanie z zamiarem, możesz określić flagę zamiaru, taką jak
FLAG_ACTIVITY_REORDER_TO_FRONT
lubFLAG_ACTIVITY_PREVIOUS_IS_TOP
. Możesz użyć tego do losowego przełączania działań w aplikacji. Jednak nie korzystałem z nich zbyt często. Spójrz na flagi tutaj: http://developer.android.com/reference/android/content/Intent.htmlJak wspomniano w komentarzach, jeśli czynność jest otwierana za pomocą,
startActivity()
wówczas można ją zamknąć za pomocąfinish()
. Jeśli chcesz użyć przycisku W górę, możesz to złapaćonOptionsSelected(MenuItem item)
metodą sprawdzania ID przedmiotu wandroid.R.id.home
przeciwieństwie do tego,R.id.home
co wspomniano w komentarzach.źródło
Spróbować
Activity#finish()
. Jest to mniej więcej to, co domyślnie robi przycisk Wstecz.źródło
this.finish();
#
Jest to wskaźnik, któryfinish()
jest nie-statyczne metody z klasy aktywności. To nie jest poprawna Java, ale pomaga wyjaśnić, w jaki sposób można użyć tej metody..
, tj .:Activity.someStaticMethod()
Po prostu napisz po zakończeniu () . Zabierze Cię do poprzedniej aktywności.
źródło
Tylko to
źródło
W ten sposób przejdziesz do poprzedniej czynności, zachowując stos i usuwając wszystkie czynności po nim ze stosu.
Na przykład, jeśli stos był A-> B-> C-> D i zaczniesz B z tą flagą, stos będzie A-> B
źródło
Czy chcesz przejąć kontrolę nad zachowaniem przycisku Wstecz? Możesz zastąpić przycisk Wstecz (aby przejść do określonego działania) za pomocą jednej z dwóch metod.
Dla Androida 1.6 i niższych:
Lub jeśli obsługujesz tylko system Android 2.0 lub nowszy:
Aby uzyskać więcej informacji: http://android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html
źródło
Wystarczy wywołać tę metodę, aby zakończyć bieżącą aktywność lub wrócić przez onBackPressed
LUB
źródło
jeśli chcesz przejść tylko do poprzedniej aktywności użyj
LUB
jeśli chcesz przejść do drugiej aktywności lub poniżej, użyj następujących czynności:
źródło
Dodaj to w swojej metodzie onCLick (), wróci do poprzedniej aktywności
lub Możesz tego użyć. To działało idealnie dla mnie
źródło
Jeśli poprawnie skonfigurowałeś plik AndroidManifest.xml z nadrzędnym działaniem, możesz użyć:
Gdzie jest to aktywność Twojego dziecka.
źródło
Spróbuj to zrobić tak, jak musisz nacisnąć przycisk Wstecz
źródło
Możesz bezpośrednio zadzwonić
onBackPressed
to najłatwiejszy sposób.Zobacz Wróć do poprzedniej czynności, aby uzyskać szczegółowe informacje
źródło
Mam ten sam problem i
działało dobrze dla mnie, oba działały tak samo, ale bez powodzenia
return
źródło
Rozpocznij drugą czynność za pomocą zamiaru (użyj
startActivity
lubstartActivityForResult
zgodnie z własnymi wymaganiami). Teraz, gdy użytkownik naciśnie przycisk Wstecz, bieżąca aktywność na górze zostanie zamknięta, a poprzednie zostanie wyświetlone.Teraz Załóżmy, że masz dwie czynności, jedną do wyboru niektórych ustawień dla użytkownika, takich jak język, kraj itp., A po wybraniu tego użytkownik kliknie przycisk Dalej, aby przejść do formularza logowania (na przykład). Teraz, jeśli logowanie się nie powiedzie, to użytkownik będzie w trakcie logowania, co jeśli logowanie się powiedzie?
Jeśli logowanie się powiedzie, musisz rozpocząć inną aktywność. Oznacza to, że trzecia aktywność zostanie uruchomiona i nadal będą działać dwie czynności. W takim przypadku dobrze będzie użyć
startActivityForResult
. Po pomyślnym zalogowaniu wyślij dane OK z powrotem do pierwszej aktywności i zamknij aktywność logowania. Teraz, gdy dane zostaną odebrane, rozpocznij trzecie działanie i zamknij pierwsze działanie, używając zakończenia.źródło
Możesz spróbować:
źródło
Wszystkie nowe działania / zamiary domyślnie zachowują się wstecz / wcześniej, chyba że zakodowane zostały
finish()
działania wywołujące.źródło
a jeśli chcesz na przycisk kliknij wróć, a następnie po prostu wstaw
źródło
Wypróbuj to działa zarówno na przycisku Wstecz paska narzędzi, jak i przycisku Wstecz sprzętu .
źródło
Sugeruję NavUtils.navigateUpFromSameTask (), jest to łatwe i bardzo proste, możesz nauczyć się go od programisty Google. Chciałbym ci pomóc!
źródło
Istnieje kilka przypadków, aby wrócić do poprzedniej aktywności:
Przypadek 1: jeśli chcesz przywrócić wynik do poprzedniej aktywności, ActivityA.java
FBHelperActivity.java
Przypadek 2: Aktywność A -> FBHelperActivity ----> Aktywność A.
ActivityA.java
FBHelperActivity.java
źródło
Po pierwsze, musisz pamiętać, że jeśli chcesz wrócić do poprzedniej czynności. Zatem nie wywołuj metody finish (), gdy przejdziesz do innej aktywności za pomocą Intent.
Następnie masz dwie możliwości powrotu z bieżącej aktywności do poprzedniej aktywności:
Po prostu zadzwoń:
finish()
pod przyciskiem nasłuchiwania kliknięcia przycisku lub Zastąp następującą metodę cofnięcia za pomocą przycisku powrotu systemu:źródło
Oprócz wszystkich wspomnianych odpowiedzi, są one nadal alternatywnym sposobem na zrobienie tego, powiedzmy, że masz dwie klasy, klasę A i klasę B.
Do klasy A wykonałeś niektóre czynności, takie jak zaznaczenie pola wyboru, wydrukowałeś pewne dane i zamiar do klasy B. Klasa B, chcesz przekazać wiele wartości do klasy A i zachować poprzedni stan klasy A, możesz użyć, wypróbuj tę alternatywę metoda lub pobierz kod źródłowy, aby to wykazać
http://whats-online.info/science-and-tutorials/125/Android-maintain-the-previous-state-of-activity-on-intent/
lub
http://developer.android.com/reference/android/content/Intent.html
źródło
Po prostu spróbuj tego, pierwsza aktywność
W twojej drugiej działalności
źródło