Jawaban:
Fragmen tidak memiliki onRestoreInstanceState
metode.
Anda dapat mencapai hasil yang sama di onActivityCreated
, yang menerima bundel dengan status instance tersimpan (atau null).
Periksa kode sumbernya di sini .
Saya tahu, Anda telah menerima jawaban, tetapi Anda harus membaca dokumentasi resmi tentang fragmen , dan tertulis (paragraf "Menangani Siklus Hidup Fragmen"):
Anda bisa mempertahankan status fragmen menggunakan Bundle, jika proses aktivitas dimatikan dan Anda perlu memulihkan status fragmen saat aktivitas dibuat ulang. Anda bisa menyimpan status selama callback onSaveInstanceState () fragmen dan memulihkannya selama onCreate (), onCreateView (), atau onActivityCreated ()
Jadi, Anda dapat menggunakan cocok untuk anda: onCreate()
, onCreateView()
, atauonActivityCreated()
Dalam contoh ListFragment panduan Fragmen, Anda dapat menemukan:
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("curChoice", mCurCheckPosition);
}
Yang bisa Anda gunakan seperti ini:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null) {
// Restore last state for checked position.
mCurCheckPosition = savedInstanceState.getInt("curChoice", 0);
}
}
onActivityCreated()
dipanggil setelah fragmen kembali dari tumpukan.
onViewStateRestored
dari Fragment
adalah setara dengan onRestoreInstanceState
dari Activity
. Tetapi disebut setelah onActivityCreated(Bundle)
dan sebelum onStart()
.