gpt4 book ai didi

java - Android 上带有 ListView 的 NullPointerException

转载 作者:行者123 更新时间:2023-11-30 02:07:18 26 4
gpt4 key购买 nike

我想将此 json 数据显示到 ListView 中。我遇到了这个问题:

java.lang.NullPointerException: Attempt to invoke virtual method 'org.json.JSONObject org.json.JSONArray.getJSONObject(int)' on a null object reference

private String[] arrow() throws JSONException {
json = new JSONObject();
JSONArray com= null;
String[] list = new String[10];
try {
com = json.getJSONArray("parameters"); // this have 10 different values
} catch (JSONException e) {
e.printStackTrace();
}
for (int i = 0; i < 10; i++)
try {
json = com.getJSONObject(i);
String forward= json.getString("forward");
String back= json.getString("back");

list[i]="Forward: " + forward + "\n" + "Backward: " + back;
} catch (JSONException e) {
e.printStackTrace();
}
return list;
}

我用 textview 做到了,但不能用 listview 做到,我得到了这个空指针..请帮忙。谢谢。

最佳答案

存在多个问题。第一个问题是您使用了两个 try/catch。如果您在第一个中遇到异常,您仍然会去第二次尝试并尝试运行代码。

json = com.getJSONObject(i);

此行在第二次 try catch 中。在你的情况下,它似乎 com 是 null 因为在第一次 try/catch 中有异常。

  try { 
com = json.getJSONArray("parameters"); // this have 10 different values

for (int i = 0; i < com.length(); i++) {
json = com.getJSONObject(i);
String forward= json.getString("forward");
String back= json.getString("back");

list[i]="Forward: " + forward + "\n" + "Backward: " + back;
}
} catch (JSONException e) {
e.printStackTrace();
}

关于java - Android 上带有 ListView 的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30495634/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com