【发布时间】:2020-03-24 10:34:05
【问题描述】:
有人可以帮助我吗? 我从文件服务器有这样的 json 结果,我想做的只是将“status”值为“Menunggu”的结果带到 myadapter
`{"message" : "Berhasil", "result" :
[
{"unit":"Sekretariat Universitas","startdate":"25-04-2020 08.00","enddate":"25-04-2020 12.00","kegiatan":"Seminar","status":"Menunggu"},
{"unit":"Sekretariat Universitas","startdate":"23-03-2020 22:33","enddate":"23-03-2020 22:33","kegiatan":"Rapat","status":"Disetujui"},
{"unit":"Fakultas Teknik","startdate":"23-03-2020 08:00","enddate":"23-03-2020 12:00","kegiatan":"Rapat","status":"Menunggu"},
{"unit":"Fakultas Universitas","startdate":"23-03-2020 22:33","enddate":"23-03-2020 22:33","kegiatan":"Rapat","status":"Disetujui"}
]}`
这是我的适配器,我在“setStatus”上使用“equals”函数但它抛出错误,我该怎么办?
StringRequest stringRequest = new StringRequest(Request.Method.GET, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d(TAG, ">>" + response);
try {
removeSimpleProgressDialog();
JSONObject jsonObject = new JSONObject(response);
if (jsonObject.optString("message").equals("Berhasil")) {
JSONArray dataArray = jsonObject.getJSONArray("result");
for (int i = 0; i < dataArray.length(); i++) {
JSONObject dataObj = dataArray.getJSONObject(i);
RuangModel ruangModel = new RuangModel();
ruangModel.setStatus(dataObj.optString("status").equals("Menunggu");
ruangModel.setKegiatan(dataObj.getString("kegiatan"));
ruangModel.setStartDate(dataObj.getString("startdate"));
ruangModel.setEndDate(dataObj.getString("enddate"));
ruangModel.setUnit(dataObj.getString("unit"));
ruangModelList.add(ruangModel);
}
}
adapter.notifyDataSetChanged();
} catch (JSONException e) {
e.printStackTrace();
}
}
}
这是我的 RuangModel.class,我将来自文件服务器的 JSON 结果放入其中
public class RuangModel {
private String id, unit, kegiatan, startDate, endDate, status;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getKegiatan() {
return kegiatan;
}
public void setKegiatan(String kegiatan) {
this.kegiatan = kegiatan;
}
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
【问题讨论】:
-
最好指定您遇到的错误。它是一个空异常吗?另外,为 Android 应用程序使用 Java 有什么特别的原因吗?
-
您的 RuangModel 中的状态类型是什么? equals 返回真或假。如果您的 RuangModel 与您的 json 模型相似,则状态类型可能不是布尔值...