Android-无法调用ViewModel中定义的方法
我试图调用在ViewModel类中创建的方法,但无法在初始化ViewModel的MainActivity中访问该方法 这是我的ViewModel类Android-无法调用ViewModel中定义的方法,android,android-viewmodel,Android,Android Viewmodel,我试图调用在ViewModel类中创建的方法,但无法在初始化ViewModel的MainActivity中访问该方法 这是我的ViewModel类 public class MovieViewModel extends AndroidViewModel { private MovieRepository movieRepository; public List<Movie> movieList; public MovieViewModel(@NonNull Application
public class MovieViewModel extends AndroidViewModel {
private MovieRepository movieRepository;
public List<Movie> movieList;
public MovieViewModel(@NonNull Application application) {
super(application);
movieRepository = new MovieRepository();
}
public List<Movie> getMovieList(String sortChoice, int pageNumber) {
movieList = movieRepository.getMovieList(sortChoice,pageNumber);
return movieList;
}
}
当我尝试调用getMovieList方法时
mViewModel.getMovieList(someVariable, someVariable);
它以红色表示-无法解析符号“getMovieList”您的
mViewModel
属于ViewModel
类型,该类型没有名为getMovieList
的方法。将类型更改为moviewmodel
私有视图模型mViewModel;
ViewModel没有getMovieList,因此将其更改为
私人电影模型;
您正在分配ViewModelProviders.of(this.get)(MovieViewModel.class)
添加到基本类型的变量ViewModel
,因此您只能访问ViewModel
中可用的方法
替换
私有视图模型mViewModel代码>带有私有电影视图模型mViewModel
如果要在viewmodel
实例中保存viewmodel,请改用moviewmodel
mViewModel.getMovieList(someVariable, someVariable);