मैं इस नए ViewModelProvider एपीआई (ViewModelProviders पदावनत है) के कारण बहुत भ्रमित हूँ
नए परिवर्तनों के साथ नए कंस्ट्रक्टर भी हैं (स्रोत कोड)।
# 1
public ViewModelProvider(@NonNull ViewModelStoreOwner owner) {
this(owner.getViewModelStore(), owner instanceof HasDefaultViewModelProviderFactory
? ((HasDefaultViewModelProviderFactory) owner).getDefaultViewModelProviderFactory()
: NewInstanceFactory.getInstance());
}
# 2
public ViewModelProvider(@NonNull ViewModelStoreOwner owner, @NonNull Factory factory) {
this(owner.getViewModelStore(), factory);
}
# 3
public ViewModelProvider(@NonNull ViewModelStore store, @NonNull Factory factory) {
mFactory = factory;
mViewModelStore = store;
}
ग्रेड की निर्भरता:
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0-rc02"
तो इन कंस्ट्रक्टर की आवश्यकता है ViewModelStore
और viewModelStoreOwner
।
डॉक्टर:
@param store {@code ViewModelStore} जहाँ ViewModels संग्रहीत किया जाएगा।
@param के मालिक {@code ViewModelStoreOwner} जिसका {@link ViewModelStore} {@code ViewModels} को बनाए रखने के लिए उपयोग किया जाएगा
क्या कोई उन्हें परिभाषित कर सकता है और उनका उपयोग कैसे करना है और वे वास्तव में हमारे लिए क्या मतलब है?
क्या ViewModelStoreOwner == गतिविधि / टुकड़ा है?