使用volley作为json检索数据不会显示在自定义列表中

xbp102n0  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(302)

这个问题在这里已经有答案了

不可见的listview项(1个答案)
在ui线程中使用setadapter时,listview中的项有白色文本(1个答案)
两年前关门了。
我想用php文件、json表单和volley显示来自mysql的数据。我可以检索数据,但是不会使用simpledapter在自定义列表中显示它。
这是我正在使用的代码

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
eqqqjvef

eqqqjvef1#

试着像这样在ui线程上运行代码

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

要对任何视图执行任何操作,需要在作为主线程的用户界面线程上运行它

相关问题