Yanıtlar:
Parçaların bir onRestoreInstanceState
yöntemi yoktur.
onActivityCreated
Kaydedilmiş örnek durumuna (veya null) sahip bir paket alan uygulamada aynı sonucu elde edebilirsiniz .
Kaynak kodunu buradan kontrol edin .
Cevabı kabul ettiğinizi biliyorum, ancak parçalarla ilgili resmi belgeleri okumalısınız ve yazıyor ("Parçacık Yaşam Döngüsünü Kullanma" paragrafı):
Aktivitenin işleminin sonlandırılması ve aktivite yeniden oluşturulduğunda fragman durumunu geri yüklemeniz gerekmesi durumunda bir Paket kullanarak bir parçanın durumunu koruyabilirsiniz. Durumu parçanın onSaveInstanceState () geri araması sırasında kaydedebilir ve onCreate (), onCreateView () veya onActivityCreated () sırasında geri yükleyebilirsiniz.
Yani, bu takım kullanabilirsiniz en iyi: onCreate()
, onCreateView()
veyaonActivityCreated()
Fragments kılavuzunun ListFragment örneğinde şunları bulabilirsiniz:
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("curChoice", mCurCheckPosition);
}
Bunun gibi kullanabileceğiniz:
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null) {
// Restore last state for checked position.
mCurCheckPosition = savedInstanceState.getInt("curChoice", 0);
}
}
onActivityCreated()
parça yığından geri döndükten sonra çağrılır.
onViewStateRestored
arasında Fragment
eşdeğerdir onRestoreInstanceState
arasında Activity
. Ama sonra onActivityCreated(Bundle)
ve önce denir onStart()
.