-1

I am trying to get the ViewModel Class for the specific fragment. But ViewModelProvider.of(this).get(UserListViewModel.class) does not work for me. Extending my Fragment from "android.support.v4.app.Fragment", but still it does not work. Here is the code

package mudasir.android.application.upfit.Fragments;


import android.arch.lifecycle.AndroidViewModel;
import android.arch.lifecycle.ViewModelProvider;
import android.databinding.DataBindingUtil;
import android.os.Bundle;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import mudasir.android.application.upfit.R;
import mudasir.android.application.upfit.ViewModel.UserListViewModel;
import mudasir.android.application.upfit.databinding.FragmentUserListBinding;

/**
 * A simple {@link Fragment} subclass.
 */
public class UserListFragment extends Fragment {

    UserListViewModel userListViewModel;
    FragmentUserListBinding fragmentUserListBinding;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        fragmentUserListBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_user_list, container, false);
        View view = fragmentUserListBinding.getRoot();

        userListViewModel = ViewModelProvider.of(this).get(UserListViewModel.class);

        return view;
    }

}
Phantômaxx
  • 37,901
  • 21
  • 84
  • 115
Mudasir Sharif
  • 733
  • 2
  • 15
  • 31

1 Answers1

0

You are using the wrong class. It should be:

userListViewModel = ViewModelProviders.of(this).get(UserListViewModel.class);

Notice that it's ViewModelProviders

Akshay Chordiya
  • 4,761
  • 3
  • 40
  • 52