Apa arti addToBackStack (null) diikuti oleh komit ()?
Mengutip dokumen:
Dengan memanggil addToBackStack (), transaksi penggantian disimpan ke back-stack sehingga pengguna dapat membalikkan transaksi dan mengembalikan fragmen sebelumnya dengan menekan tombol Kembali.
Jika Anda menambahkan beberapa perubahan ke transaksi (seperti add () atau remove ()) dan memanggil addToBackStack (), semua perubahan yang diterapkan sebelum Anda memanggil commit () akan ditambahkan ke back-stack sebagai transaksi tunggal dan tombol Kembali akan membalikkan semuanya.
Urutan Anda menambahkan perubahan ke FragmentTransaction tidak penting, kecuali:
Anda harus menelepon commit()
terakhir. Jika Anda menambahkan beberapa fragmen ke penampung yang sama, maka urutan Anda menambahkannya menentukan urutan kemunculannya dalam hierarki tampilan.
Jadi, Anda harus berkomitmen pada akhirnya.
Mengapa Anda perlu meneruskan parameter null ke addToBackStack?
Tidak perlu nol, ini bisa berupa string. Jika Anda tidak mau, berikan null.
public abstract FragmentTransaction addToBackStack (nama string)
Ditambahkan dalam API level 11 Tambahkan transaksi ini ke back-stack. Ini berarti bahwa transaksi akan diingat setelah dilakukan, dan akan membalik operasinya ketika nanti muncul dari tumpukan.
Nama parameter Nama opsional untuk status back-stack ini, atau null.
Tentang:
Sepertinya kode ini tidak berguna karena saya menjalankan kode tanpa baris terakhir .addToBackStack (null) .commit () dan berjalan tanpa masalah
Jika Anda ingin menavigasi ke fragmen sebelumnya, tambahkan ke backstack. Jadi itu tergantung pada apakah Anda ingin menambahkan fragmen ke backstack.
Bagaimana cara mendapatkan fragmen itu setelah ditambahkan seperti ini?
Anda sudah memiliki instance fragmen firstFragment
. Jadi saya tidak tahu apa yang Anda maksud dengan mendapatkan fragmen nanti.
Informasi lebih lanjut @
http://developer.android.com/guide/components/fragments.html
http://developer.android.com/reference/android/app/FragmentTransaction.html#addToBackStack(java.lang.String)