android - 数据未显示在布局中
问题描述
我正在尝试从 API 获取数据,但数据似乎没有显示在我的布局中。没有错误,logcat 似乎指向第 58 行和第 54 行,但我不知道这些行有什么问题。
这是代码:
@SuppressLint("Registered")
public class WaktuAzan extends AppCompatActivity {
private static final String URL_ANNOUNCEMENT = "http://interxsgroup.com.my:8887/waktu_solat/api.php?zon=SGR01";
private RecyclerView recyclerViewAzan;
private List<WaktuAzanList> waktuAzanLists;
private RequestQueue mQueue;
private WaktuAzanAdapter adapter;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.azan_layout);
waktuAzanLists = new ArrayList<>();
recyclerViewAzan = findViewById(R.id.recyclerViewAzan);
recyclerViewAzan.setHasFixedSize(true);
recyclerViewAzan.setLayoutManager(new LinearLayoutManager(this));
mQueue = Volley.newRequestQueue(this);
getAzan();
}
private void getAzan() {
line 54 StringRequest stringRequest = new StringRequest(Request.Method.GET, URL_ANNOUNCEMENT, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
line 58 JSONArray jsonArray = new JSONArray(response);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject data = jsonArray.getJSONObject(i);
waktuAzanLists.add(new WaktuAzanList(
// data.getString("waktu_imsak"),
// data.getString("waktu_subuh"),
// data.getString("waktu_syuruk"),
// data.getString("waktu_zohor"),
// data.getString("waktu_asar"),
// data.getString("waktu_maghrib"),
// data.getString("waktu_isyak"),
data.getString("nama_zon"),
data.getString("tarikh_masa")
));
adapter = new WaktuAzanAdapter(waktuAzanLists,WaktuAzan.this);
recyclerViewAzan.setAdapter(adapter);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
});
mQueue.add(stringRequest);
}
}
这是 logcat,log cat 似乎指向第 58 和 54 行。
2019-11-29 02:28:23.550 9673-9701/com.example.mobileapp1 D/EGL_emulation: eglMakeCurrent: 0x9af87320: ver 2 0 (tinfo 0x9afcab60)
2019-11-29 02:28:23.573 9673-9701/com.example.mobileapp1 D/EGL_emulation: eglMakeCurrent: 0x9af87320: ver 2 0 (tinfo 0x9afcab60)
2019-11-29 02:28:23.594 9673-9673/com.example.mobileapp1 W/System.err: org.json.JSONException: Value {"waktu_imsak":"05:41 a.m.","waktu_subuh":"05:51 a.m.","waktu_syuruk":"07:01 a.m.","waktu_zohor":"01:04 p.m.","waktu_asar":"04:26 p.m.","waktu_maghrib":"07:02 p.m.","waktu_isyak":"08:15 p.m.","kod_zon":"SGR01","nama_zon":"Gombak,Petaling,Sepang,Hulu Langat,Hulu Selangor,Rawang,S.Alam","tarikh_masa":"29-11-2019 02:28:26"} of type org.json.JSONObject cannot be converted to JSONArray
2019-11-29 02:28:23.594 9673-9673/com.example.mobileapp1 W/System.err: at org.json.JSON.typeMismatch(JSON.java:111)
2019-11-29 02:28:23.594 9673-9673/com.example.mobileapp1 W/System.err: at org.json.JSONArray.<init>(JSONArray.java:96)
2019-11-29 02:28:23.594 9673-9673/com.example.mobileapp1 W/System.err: at org.json.JSONArray.<init>(JSONArray.java:108)
2019-11-29 02:28:23.594 9673-9673/com.example.mobileapp1 W/System.err: at com.example.mobileapp1.WaktuAzan$1.onResponse(WaktuAzan.java:58)
2019-11-29 02:28:23.594 9673-9673/com.example.mobileapp1 W/System.err: at com.example.mobileapp1.WaktuAzan$1.onResponse(WaktuAzan.java:54)
2019-11-29 02:28:23.594 9673-9673/com.example.mobileapp1 W/System.err: at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:82)
2019-11-29 02:28:23.594 9673-9673/com.example.mobileapp1 W/System.err: at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:29)
2019-11-29 02:28:23.594 9673-9673/com.example.mobileapp1 W/System.err: at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:102)
2019-11-29 02:28:23.594 9673-9673/com.example.mobileapp1 W/System.err: at android.os.Handler.handleCallback(Handler.java:790)
2019-11-29 02:28:23.595 9673-9673/com.example.mobileapp1 W/System.err: at android.os.Handler.dispatchMessage(Handler.java:99)
2019-11-29 02:28:23.595 9673-9673/com.example.mobileapp1 W/System.err: at android.os.Looper.loop(Looper.java:164)
2019-11-29 02:28:23.595 9673-9673/com.example.mobileapp1 W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6494)
2019-11-29 02:28:23.595 9673-9673/com.example.mobileapp1 W/System.err: at java.lang.reflect.Method.invoke(Native Method)
2019-11-29 02:28:23.595 9673-9673/com.example.mobileapp1 W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
2019-11-29 02:28:23.595 9673-9673/com.example.mobileapp1 W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
2019-11-29 02:28:23.611 9673-9701/com.example.mobileapp1 D/EGL_emulation: eglMakeCurrent: 0x9af87320: ver 2 0 (tinfo 0x9afcab60)
2019-11-29 02:28:23.618 9673-9701/com.example.mobileapp1 D/OpenGLRenderer: endAllActiveAnimators on 0x877c9b80 (RippleDrawable) with handle 0x877f22b0
解决方案
推荐阅读
- java - 当 Azure 服务总线队列中的发布和消费匹配时,活动消息计数是否会为零?
- c# - 无法访问已释放的对象。\r\n对象名称: 'UserManager`1 - 在调用 CreateAsync(user, model.password) 时
- windows - Kafka 服务器启动命令不起作用
- angular - 添加排序和分页时没有数据的角度材料表
- javascript - 如何在java脚本中获取函数外部的局部变量的值
- sed - sed: -e 表达式 #1, char 43: `s' 的未知选项
- javascript - 导入的类在 ReactJS 中未定义
- php - 为从 API 接收的数据创建分页
- python - 获取嵌套字典中字典中键的平均值
- java - Local.getDefault().getCountry() 不稳定 - Image Picker Android 错误