gpt4 book ai didi

android - 使用 volley 检索 JSON 数据不会显示在自定义列表中

转载 作者:行者123 更新时间:2023-11-29 17:10:10 24 4
gpt4 key购买 nike

我想使用 PHP 文件、JSON 形式和 volley 显示来自 MySQL 的数据。我可以正常检索数据,但是没有使用 SimpleAdapter 将其显示在自定义列表上。

这是我正在使用的代码

JsonObjectRequest jreq = new JsonObjectRequest(Method.GET, url,
new Response.Listener<JSONObject>() {

@Override
public void onResponse(JSONObject response) {

JSONArray ja = null;
try {
ja = response.getJSONArray("report");

for (int i = 0; i < ja.length(); i++) {

JSONObject jobj = ja.getJSONObject(i);
HashMap<String, String> item = new HashMap<String, String>();
item.put(DATA, jobj.getString(DATA));
item.put(VALOR, jobj.getString(VALOR));
item.put(KMS, jobj.getString(KMS));
item.put(HORAS, jobj.getString(HORAS));
item.put(MEDIAKMS, jobj.getString(MEDIAKMS));
item.put(MEDIAHORAS, jobj.getString(MEDIAHORAS));

Item_List.add(item);



} // for loop ends




adapter = new SimpleAdapter(
getApplicationContext(), Item_List,
R.layout.list_items, new String[] {DATA, VALOR, KMS, HORAS, MEDIAKMS, MEDIAHORAS},
new int[] {R.id.data_list, R.id.valor_list, R.id.kms_list, R.id.horas_list, R.id.mediakms_list,
R.id.mediahoras_list});

listview.setAdapter(adapter);

已解决更改

getApplicationContext(), 

致:

MainActivity.this

最佳答案

尝试像这样在 UI 线程上运行代码

runOnUiThread(new Runnable() {
@Override
public void run() {
listview.setAdapter(adapter);
}
});

要对任何 View 执行任何操作,您需要在用户界面线程(即主线程)上运行它

关于android - 使用 volley 检索 JSON 数据不会显示在自定义列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51915479/

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