这是我的堆栈跟踪, 当我在调试中运行我的应用程序时,它运行得很好 但 当我在发布模式下运行我的应用程序时,单击列表项时会出现以下错误。
java.lang.NullPointerException:尝试调用接口方法 ' java.util.Iterator java.util.List.iterator()'在null对象上 参考 在dkw.a(未知来源) 在dmh.a(未知来源) 在dmh.success(未知来源) at retrofit.CallbackRunnable $ 1.run(未知来源) 在android.os.Handler.handleCallback(Handler.java:739) 在android.os.Handler.dispatchMessage(Handler.java:95) 在android.os.Looper.loop(Looper.java:135) 在android.app.ActivityThread.main(ActivityThread.java:5930) at java.lang.reflect.Method.invoke(Native Method) 在java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1405) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)
答案 0 :(得分:2)
我可以假设列表是空的,因为GSON没有正确地反序列化JSON,因为你的POJO被混淆了。
在包含您尝试迭代的列表的类中使用@SerializedName("json_variable_name_here")
注释变量
例如,如果JSON是:
{
"name":"alice"
"foo" : "bar",
}
你的POJO应该是这样的:
@SerializedName("name")
String name;
@SerializedName("foo")
String foo;