我已经初始化,但仍然得到空指针异常



我收到此错误消息

java.lang.NullPointerException: 尝试在空对象引用上调用虚拟方法 'java.util.List com.example.asus.catalogmovieuiux.model.MovieResponse.getResults((' at com.example.asus.catalogmovieuiux.fragment.PlayingFragment$1.onResponse(PlayingFragment.java:83( 在改造2。ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:68( at android.os.Handler.handleCallback(Handler.java:739( at android.os.Handler.dispatchMessage(Handler.java:95( at android.os.Looper.loop(Looper.java:135( at android.app.ActivityThread.main(ActivityThread.java:5290( at java.lang.reflect.Method.invoke(Native Method( at java.lang.reflect.Method.invoke(Method.java:372( at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:911( at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:706(

我已经检查了电影类,没有问题,并且还检查了电影响应类。 我很困惑。 为什么它回到了 NullPointerException? 这是错误的方法代码:(

progressDialog = ProgressDialog.show(getActivity(), null, getResources().getString(R.string.loading_dialog), true, false);
movieResponse = client.getInterface().getNowPlaying(BuildConfig.API_KEY);
movieResponse.enqueue(new Callback<MovieResponse>() {
@Override
public void onResponse(Call<MovieResponse> call, Response<MovieResponse> response) {
List<Movie> movies = response.body().getResults();
mRecyclerView.setAdapter(new MoviesAdapter(getContext(), movies));
}
@Override
public void onFailure(Call<MovieResponse> call, Throwable t) {
}
});

在线

列表电影 = response.body((.getResults((;

您可以看到错误是在尝试更改列表"电影"时引起的。检查 response.body((.getResults(( 是否为空。

尝试通过使用if 语句包装代码来检查 null,如下所示;

if (response.body() != null){
List<Movies> movies = response.body().getResults();
}

最新更新