Di banyak aplikasi (Kalender, Drive, Play Store) saat Anda mengetuk tombol dan memasukkan aktivitas baru, ikon di bilah judul berubah menjadi tombol kembali, tetapi untuk aplikasi yang saya buat, tidak melakukan itu. Bagaimana cara membuat ikon itu membawa Anda kembali ke layar sebelumnya?
112
Jawaban:
Ada dua langkah sederhana untuk membuat tombol kembali di bilah judul:
Pertama, buat ikon aplikasi dapat diklik menggunakan kode berikut dalam aktivitas yang bilah judulnya ingin Anda beri tombol kembali:
Setelah Anda menambahkan kode di atas, Anda akan melihat panah kembali muncul di sebelah kiri ikon aplikasi.
Kedua, setelah Anda melakukan hal di atas, Anda masih harus membuat kode yang akan memanfaatkan event click. Untuk melakukannya, ketahuilah bahwa, ketika Anda benar-benar mengklik ikon aplikasi, sebuah
onOptionsItemSelected
metode dipanggil. Jadi untuk kembali ke aktivitas sebelumnya, tambahkan metode itu ke aktivitas Anda dan masukkanIntent
kode di dalamnya yang akan mengembalikan Anda ke aktivitas sebelumnya. Misalnya, aktivitas yang Anda coba kembali ke aktivitas dipanggilMyActivity
. Untuk kembali ke sana, tulis metode sebagai berikut:Itu dia!
(Di Android Developers API, itu merekomendasikan untuk bermain-main dengan manifes dan menambahkan hal-hal seperti
android:parentActivityName
. Tapi itu tampaknya tidak berhasil untuk saya. Yang di atas lebih sederhana dan lebih dapat diandalkan.)Dan dalam Aktivitas Anda
sumber
gunakan kode ini
setelah itu tulis kode ini di
onOptionsItemSelected
metodesumber
getActionBar()
memberi saya nol; apa kamu tahu kenapa?Saya akhirnya berhasil menambahkan tombol kembali ke actionbar / toolbar dengan benar
sumber
1.- Tambahkan aktivitas ke AndroidManifest.xml dan pastikan untuk memberikan meta-data:
2.- Tambahkan kode berikut ke metode onCreate aktivitas:
3.- Ganti onOptionsItemSelected dan gunakan metode statis NavUtils.navigateUpFromSameTask () untuk menavigasi melempar tumpukan.
sumber
Jika aktivitas Anda memang memperluas Aktivitas
Jika tindakan Anda memperluas AppCompatActivity
Tidak ada lagi yang bisa dilakukan, Lihat Menambahkan tindakan
[OPTIONAL] Untuk secara eksplisit mendefinisikan aktivitas induk, ubah Manifest.xml Anda seperti ini:
Lihat Menentukan Aktivitas Induk
sumber
Jika aktivitas
AppCompatActivity
Anda meluas, Anda perlu menggantionSupportNavigateUp()
metode seperti ini:Tangani logika Anda dalam
onBackPressed()
metode Anda dan panggil saja metode ituonSupportNavigateUp()
sehingga tombol kembali pada telepon dan panah pada bilah alat melakukan hal yang sama.sumber
pertama-tama di Fungsi onCreate tambahkan baris berikut
dan kemudian tambahkan fungsi berikut ke dalam kode:
sumber
Pertama, Anda perlu menulis kode ini
Kemudian tambahkan baris ini dalam manifes
sumber
Jika Anda menggunakan pustaka dukungan baru untuk 5.1 di android studio, Anda dapat menggunakannya di AppCompatActivity
Bersulang.
sumber
Cara termudah dan praktik terbaik seperti yang dijelaskan google di sini :
1. Tambahkan orang tua untuk childActivity Anda di
AndroidManifest.xml
:2. Aktifkan tombol kembali di childActivity Anda:
Berhasil untuk saya, saya harap ini juga berhasil untuk Anda.
sumber
Setelah waktu yang berkualitas saya temukan, opsi tema adalah masalah utama dalam kode saya Dan berikut ini adalah cara yang tepat untuk menunjukkan toolbar untuk saya
Di file AndroidManifest, pertama Anda harus mengubah gaya tema Anda
lalu di aktivitas xml Anda perlu memanggil Toolbar Anda sendiri seperti
Dan kemudian toolbar ini harus dipanggil di file Java Anda oleh
Dan untuk toolbar yang menampilkan U harus memeriksa null untuk menghindari NullPointerException
Untuk aktivitas Rumah, tambahkan ini
ATAU untuk aktivitas yang Anda inginkan kembali
sumber
Saya melihat jawaban yang sangat kompleks, jadi ini kode saya. Bekerja disini. Anda dapat mencapai ini dengan dua cara.
1) Kompatibilitas android standar
2) Gunakan ikon khusus
Jika Anda ingin menggunakan kode dalam komentar, Anda hanya perlu menambahkan file ini dalam drawable, bernama ic_arrow_white_24dp.xml
Dengan kode ini.
Semoga ini akan membantu beberapa orang di sini!
sumber
Versi berbobot ringan tanpa menggunakan
ActionBarActivity
yang masih memiliki bahaviors yang sama di sini:Penggunaan: Masukan
new ToolbarConfigurer(this, (Toolbar) findViewById(R.id.my_awesome_toolbar), true);
dionCreate
.sumber
Anda perlu menambahkan kode yang disebutkan di bawah ini dalam file manifes. Cari aktivitas di mana Anda ingin menambahkan fungsionalitas panah kembali. Jika Anda menemukannya maka baik-baik saja atau buat aktivitas
Kemudian tambahkan tiga baris kode berikut di antaranya.
Dan jangan lupa untuk menambahkan potongan kode ini di onCreate (); metode aktivitas khusus Anda di mana Anda membutuhkan panah kembali.
Beginilah cara saya memecahkan masalah. Terima kasih.
sumber
Jawaban lain tidak menyebutkan bahwa Anda juga dapat mengatur ini dalam XML
Toolbar
widget Anda :app:navigationIcon="?attr/homeAsUpIndicator"
Sebagai contoh:
sumber
Yang perlu Anda lakukan di tahun 2020:
(mengingat Anda ingin kembali ke MainActivity)
sumber
Jika Anda menggunakan ActionBar, Anda pasti ingin membaca dokumentasi ini http://developer.android.com/reference/android/app/ActionBar.html#setDisplayHomeAsUpEnabled(boolean)
Kemudian Anda harus menimpa metode onOptionsItemSelected (MenuItem) dan mencari acara android.R.id.home untuk masuk. Kemudian Anda tahu bahwa pengguna telah mengklik tombol kembali di bilah tindakan
sumber
Itu juga bisa dilakukan tanpa kode dengan menentukan aktivitas induk di manifes aplikasi Jika Anda menginginkan tombol kembali di Aktivitas B yang akan membuka Aktivitas A, cukup tambahkan Aktivitas A sebagai induk Aktivitas B di manifes.
sumber
Untuk kotlin:
sumber
Saya perlu mencampur beberapa jawaban untuk mendapatkan jawaban yang tepat untuk saya karena aplikasi saya memiliki 3 aktivitas yang dapat pergi dan kembali kapan saja. Aktivitas1> Aktivitas2> Aktivitas3. Saat saya melakukan sesuatu di aktivitas3 saya, tombol kembali mencadangkan dengan benar ke Aktivitas2. Namun, dari Aktivitas2, menggunakan
finish()
, itu kembali ke Aktivitas3 dan bukan Aktivitas1. Dan saya memperluas AppCompatActivity. Jadi, solusi saya adalah:di AndroidManifest.xml:
dan terakhir, tombol tindakan di menu saya (bilah tindakan):
Menggunakan
NavUtils.navigateUpFromSameTask(this);
berhasil untuk saya, bukanfinish()
.sumber
Sekedar sharing sesuatu yang membantu saya dan semoga bermanfaat untuk sesama. Meskipun sebagian besar jawaban di sini benar, dengan menggunakan
getActionBar().setDisplayHomeAsUpEnabled(true);
, ini tidak berhasil untuk saya. Masalah yang saya hadapi adalah saya mencoba membuat Aktivitas kedua secara manual, tetapi ada lebih banyak detail yang terlibat.Apa yang benar-benar memecahkan masalah saya adalah mengikuti tutorial Pengembang Android ( https://developer.android.com/training/basics/firstapp/starting-activity ) untuk membuat Aktivitas kedua menggunakan alat Android Studio sendiri:
sumber
Anda juga dapat dengan mudah memasukkan
onBackPressed()
listener onClick Anda. Hal ini menyebabkan tombol Anda berfungsi seperti tombol "mundur / naik" default di aplikasi android!sumber
sumber
Ini berfungsi untuk saya .. Misalkan ada dua aktivitas (Aktivitas satu, Aktivitas dua)
Di dalam Aktivitas, dua menggunakan kode ini
Di Activityone
Ini harus dimasukkan dalam aktivitas kedua di dalam file manifes
Dan hasilnya akan seperti ini
sumber
sumber
Ini bekerja untuk saya getSupportActionBar (). SetDisplayHomeAsUpEnabled (false); masukkan deskripsi gambar di sini
sumber