Saya ingin melakukan sesuatu yang sederhana di aplikasi android. Bagaimana mungkin kembali ke aktivitas sebelumnya.
Kode apa yang saya perlukan untuk kembali ke aktivitas sebelumnya
Saya ingin melakukan sesuatu yang sederhana di aplikasi android. Bagaimana mungkin kembali ke aktivitas sebelumnya.
Kode apa yang saya perlukan untuk kembali ke aktivitas sebelumnya
Jawaban:
Aktivitas Android disimpan dalam tumpukan aktivitas. Kembali ke aktivitas sebelumnya bisa berarti dua hal.
Anda membuka aktivitas baru dari aktivitas lain dengan startActivityForResult . Dalam hal ini Anda bisa memanggil fungsi finishActivity () dari kode Anda dan itu akan membawa Anda kembali ke aktivitas sebelumnya.
Melacak tumpukan aktivitas. Setiap kali Anda memulai aktivitas baru dengan maksud, Anda dapat menentukan bendera maksud seperti
FLAG_ACTIVITY_REORDER_TO_FRONT
atauFLAG_ACTIVITY_PREVIOUS_IS_TOP
. Anda dapat menggunakan ini untuk mengacak antara aktivitas dalam aplikasi Anda. Belum banyak menggunakannya. Lihat bendera di sini: http://developer.android.com/reference/android/content/Intent.htmlSeperti disebutkan dalam komentar, jika aktivitas dibuka
startActivity()
maka seseorang dapat menutupnyafinish()
. Jika Anda ingin menggunakan tombol Up Anda dapat menangkap bahwa dalamonOptionsSelected(MenuItem item)
metode dengan memeriksa ID item terhadapandroid.R.id.home
tidak sepertiR.id.home
yang disebutkan di komentar.sumber
Coba
Activity#finish()
. Ini kurang lebih apa yang dilakukan tombol kembali secara default.sumber
this.finish();
#
merupakan indikator bahwafinish()
adalah metode non-statis dari kelas Activity. Ini bukan Java yang valid, tetapi ini membantu menjelaskan bagaimana seseorang dapat menggunakan metode ini..
, yaitu:Activity.someStaticMethod()
Cukup tulis pada klik selesai () . Ini akan membawa Anda ke Aktivitas sebelumnya.
sumber
Hanya ini
sumber
Ini akan membawa Anda ke aktivitas sebelumnya dengan menyimpan tumpukannya dan menghapus semua aktivitas setelah tumpukan.
Misalnya, jika tumpukan adalah A-> B-> C-> D dan Anda mulai B dengan flag ini, tumpukan akan menjadi A-> B
sumber
Apakah Anda ingin mengendalikan perilaku tombol kembali? Anda dapat mengganti tombol kembali (untuk pergi ke aktivitas tertentu) melalui salah satu dari dua metode.
Untuk Android 1.6 dan di bawah ini:
Atau jika Anda hanya mendukung Android 2.0 atau lebih tinggi:
Untuk detail lebih lanjut: http://android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html
sumber
Cukup panggil metode ini untuk menyelesaikan aktivitas saat ini atau untuk kembali dengan onBackPressed
ATAU
sumber
jika Anda ingin pergi ke hanya ingin pergi menggunakan aktivitas sebelumnya
ATAU
jika Anda ingin pergi ke aktivitas kedua atau di bawah yang menggunakan berikut:
sumber
Tambahkan ini dalam metode onCLick () Anda, itu akan kembali ke aktivitas Anda sebelumnya
atau Anda bisa menggunakan ini. Ini bekerja dengan baik untuk saya
sumber
Jika Anda telah menyiapkan file AndroidManifest.xml dengan induk aktivitas dengan benar, Anda dapat menggunakan:
Di mana ini adalah aktivitas anak Anda.
sumber
Coba ini bertindak karena Anda harus menekan tombol kembali
sumber
Anda dapat secara eksplisit menelepon
onBackPressed
adalah cara termudah.Lihat Kembali ke aktivitas sebelumnya untuk detail
sumber
Punya masalah yang sama dan
bekerja dengan baik untuk saya, keduanya bekerja sama, tetapi tidak berhasil
return
sumber
Mulai aktivitas kedua menggunakan niat (baik menggunakan
startActivity
ataustartActivityForResult
sesuai dengan kebutuhan Anda). Sekarang ketika pengguna menekan tombol kembali, aktivitas saat ini di atas akan ditutup dan sebelumnya akan ditampilkan.Sekarang Katakanlah Anda memiliki dua kegiatan, satu untuk memilih beberapa pengaturan untuk pengguna, seperti bahasa, negara, dll, dan setelah memilihnya, pengguna mengklik tombol Next untuk masuk ke formulir login (misalnya). Sekarang jika login tidak berhasil, maka pengguna akan berada di aktivitas login, bagaimana jika login berhasil?
Jika login berhasil, maka Anda harus memulai aktivitas lain. Ini berarti kegiatan ketiga akan dimulai, dan masih ada dua kegiatan yang berjalan. Dalam hal ini, itu akan baik untuk digunakan
startActivityForResult
. Ketika login berhasil, kirim kembali data OK ke aktivitas pertama dan tutup aktivitas login. Sekarang ketika data diterima, maka mulailah aktivitas ketiga dan tutup aktivitas pertama dengan menggunakan selesai.sumber
Anda dapat mencoba ini:
sumber
Semua aktivitas / niat baru secara default memiliki kembali / perilaku sebelumnya, kecuali jika Anda telah memberi kode
finish()
pada aktivitas panggilan.sumber
dan jika Anda ingin tombol klik kembali maka cukup masukkan
sumber
Coba ini berfungsi baik pada tombol kembali toolbar sebagai tombol kembali hardware .
sumber
Saya menyarankan NavUtils.navigateUpFromSameTask (), mudah dan sangat sederhana, Anda dapat mempelajarinya dari pengembang google. Berharap saya bisa membantu Anda!
sumber
Ada beberapa kasus untuk kembali ke aktivitas Anda sebelumnya:
Kasus 1: jika Anda ingin mengembalikan hasil ke aktivitas Anda sebelumnya maka ActivityA.java
FBHelperActivity.java
Kasus 2: ActivityA -> FBHelperActivity ----> ActivityA
ActivityA.java
FBHelperActivity.java
sumber
Pertama, hal yang perlu Anda ingat, jika ingin kembali ke aktivitas sebelumnya. Maka jangan panggil metode finish () ketika pergi ke aktivitas lain menggunakan Intent.
Setelah itu Anda memiliki dua cara untuk kembali dari aktivitas saat ini ke aktivitas sebelumnya:
Cukup panggil: di
finish()
bawah pendengar klik tombol, Atau Override metode berikut untuk kembali menggunakan tombol kembali sistem:sumber
Selain semua jawaban yang disebutkan, mereka masih merupakan cara alternatif untuk melakukan ini, katakanlah Anda memiliki dua kelas, kelas A dan kelas B.
Kelas A Anda telah membuat beberapa aktivitas seperti kotak centang pilih, mencetak beberapa data dan bermaksud ke kelas B. Kelas B, Anda ingin meneruskan beberapa nilai ke kelas A dan mempertahankan status sebelumnya dari kelas A, Anda dapat menggunakan, coba alternatif ini metode atau unduh kode sumber untuk menunjukkan ini
http://whats-online.info/science-and-tutorials/125/Android-maintain-the-previous-state-of-activity-on-intent/
atau
http://developer.android.com/reference/android/content/Intent.html
sumber
Coba saja ini, aktivitas pertama
Dalam aktivitas kedua Anda
sumber