Cannot Resolve ViewModelProvider Construction In A Fragment?
Answer :
Firstly you need to use the latest version of lifecycle extension. It should be:
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' implementation "androidx.lifecycle:lifecycle-viewmodel:2.2.0"
or any updated version.
Then you should use requireActivity()
instead of getActivity()
. This way you will ensure that the activity is attached an not getting a NullPointerException
.
ItemSetupFragmentModel model = new ViewModelProvider(requireActivity()).get(ItemSetupFragmentModel.class);
Note: ViewModel Overview and Declaring Dependencies
I had to restart cache after adding the library to the Gradle file. There is no need to use requireActivity()
, this
is enough.
You aren't using the latest library release in which the ViewModelProvider(@NonNull ViewModelStoreOwner owner)
constructor was included. You are seeing the latest docs but not using the latest library version of ViewModel
. You need to use
implementation 'androidx.lifecycle:lifecycle-viewmodel:2.2.0' // For Java
or
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0' // For kotlin extension
Comments
Post a Comment