java - 为什么 Volley 抛出 java.lang.NullPointerException
问题描述
我使用下面的代码来获取JSON
数据(img, name),一切正常,但我在Google Console中的ANRs & Crashes下得到了很多报告:
java.lang.NullPointerException:
at maa.app.Fragments.fragmentAnime$3.onSuccess (fragmentAnime.java:75)
at maa.app.Fragments.fragmentAnime$6.a (fragmentAnime.java:52)
at maa.app.Fragments.fragmentAnime$6.onResponse (fragmentAnime.java:2)
at com.android.volley.request.StringRequest.c (StringRequest.java:4)
at com.android.volley.request.StringRequest.a (StringRequest.java:2)
at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run (ExecutorDelivery.java:30)
at android.os.Handler.handleCallback (Handler.java:789)
at android.os.Handler.dispatchMessage (Handler.java:98)
at android.os.Looper.loop (Looper.java:164)
at android.app.ActivityThread.main (ActivityThread.java:6942)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:327)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)
我的应用程序 :
public class MApplication extends MultiDexApplication {
public static RequestQueue requestQueue;
@Override
public void onCreate() {
super.onCreate();
requestQueue = Volley.newRequestQueue(getApplicationContext());
}
片段:
StringRequest stringRequest = new StringRequest(Request.Method.GET,
URL_DATA,
s -> {
List<Post> listItems = new ArrayList<>();
try {
JSONObject jsonObject = new JSONObject(s);
JSONArray array = jsonObject.getJSONArray("bgs");
for (int i = 0; i < array.length(); i++) {
JSONObject o = array.getJSONObject(i);
Post item = new Post(
o.optString("img"),
o.optString("name")
);
listItems.add(item);
}
callback.onSuccess(listItems);
} catch (JSONException e) {
slowInternetConnection();
}
},
callback::onError) {
};
if (getActivity() != null && isAdded()) {
stringRequest.setShouldCache(false);
requestQueue.getCache().clear();
requestQueue.add(stringRequest);
}
谁能帮我解决这个问题?
解决方案
推荐阅读
- python - 在 Mac OSX 上使用 Buildozer 时,如何解决“缺少可执行文件:未安装 libtoolize”错误(和其他错误)?
- python - Tkinter 条目验证——如何使用 %W
- android - 致命异常:java.lang.SecurityException:无效的 API 密钥
- c# - 如何用空格查询弹性搜索过滤器中的关键字数组?
- wpf - 如何访问模板控件内的控件属性?
- javascript - nuxt 应用程序的 vue-social-sharing 中的 Vuetify 按钮
- css - Sass 没有给出缺少导入函数的错误
- vue.js - 更改 v-model 在 vue.js 中创建的绑定
- c++ - 抛出未处理的异常:写访问冲突。错误
- laravel - 如何使用参数修复重定向有错误