您好我是Android新手,目前我正在尝试使用静态类在我的应用程序中构建一个购物车:
package com.xxxxxx.vendor.helpers;
import org.json.JSONArray;
import org.json.JSONObject;
public class Cart {
public static JSONObject Info;
public static JSONObject Customer;
public static JSONArray Tickets;
public static JSONArray Extras;
}
现在我有一个按钮,应该在按钮点击时将jsonObject添加到我的Tickets JSONArray:
btView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
int qty = Integer.parseInt(tqView.getText().toString());
String tClass = ticketsArr.getJSONObject(finalI).get("class").toString();
String eName = eo.getName();
JSONObject t = new JSONObject();
t.put("id", ticketsArr.getJSONObject(finalI).get("id").toString());
t.put("class", tClass);
String description = tClass + " ticket" + (qty > 1 ? "s" : "") + " to" + eName;
t.put("description", description);
t.put("price", ticketsArr.getJSONObject(finalI).get("fee").toString());
t.put("quantity", qty);
// Cart.Tickets.put(t);
JSONArray tArr = Cart.Tickets;
tArr.put(t);
Toast.makeText(TicketsActivity.this, Cart.Tickets.toString(), Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
e.printStackTrace();
}
}
})
但是,每当我点击该按钮时,该应用都会崩溃:tArr.put(t);
我不知道我在这里做错了什么,虽然我的面向对象有点生疏,所以我可能在某处犯了一个愚蠢的错误。
答案 0 :(得分:1)
这是因为Cart.Tickets
为空。您尚未向Cart.Tickets
添加任何内容
因此tArr
是null
JSONArray tArr = Cart.Tickets;
在使用之前,您需要为Cart.Tickets
分配一些值,以避免任何崩溃。