Şu kod etiketini inceliyorum: https://developer.android.com/codelabs/android-lifecycles#6 İşlem ölümünden kurtulmak için savedstatehandle'ı bir Viewmodel'de nasıl kullanacağınızı açıklar. ViewModel yapıcısı aşağıdaki gibidir:
private SavedStateHandle mState;
public SavedStateViewModel(SavedStateHandle savedStateHandle) {
mState = savedStateHandle;
}
Ve viewmodel Aktivitede aşağıdaki gibi başlatılır:
mSavedStateViewModel = new ViewModelProvider(this).get(SavedStateViewModel.class);
Viewmodel'in yapıcısı ne zaman çağrılır? Ve Viewmodel nasıl elde edilir savedStateHandle
ViewModel parametresi?
Düzenlemek:
Sorumun cevabını bu blog yazısı aracılığıyla buldum: https://www.rockandnull.com/viewmodel-savedstate/
Eğer yazıyor SavedStateHandle
viewmodel yapıcımızdaki tek parametre by viewModels
temsilci, viewmodel'e otomatik olarak sağlar.
Ancak, Bağımlılık enjeksiyon çerçevesi(Hılt) tarafından sağlanan özel parametrelerin bir kombinasyonuna sahipsek, örneğin: depo, birkaç diğer çalışma zamanı argümanı, örneğin: seçilen kategori kimliği ve SavedStateHandle viewmodel'in yapıcısındaki süreç ölümünden kurtulmamıza yardımcı olmak için-Tüm bu parametreleri fabrikaya nasıl sağlayabiliriz?
Lütfen anlayışım için küçük bir örnek gönderin