如何让ListView每隔5秒刷新一次,数据来自服务器 [英] How to make ListView to refresh after every 5 sec when data come from a server

查看:126
本文介绍了如何让ListView每隔5秒刷新一次,数据来自服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有ListView,其中有数据。数据来自服务器,我希望ListView每隔5秒更新一次。如何做到这一点?我对Android开发还是个新手。请帮帮我。以下是我的代码...

    protected void showList() {
    try {
        JSONObject jsonObj = new JSONObject(myJSON);
        peoples = jsonObj.getJSONArray(TAG_RESULTS);

        for (int i = 0; i < peoples.length(); i++) {
            JSONObject c = peoples.getJSONObject(i);
            String data = c.getString(TAG_DATA);
            final String dataaaa = rcdata.getText().toString().trim();
            HashMap<String, String> user_data = new HashMap<String, String>();
            user_data.put(TAG_DATA, data);
            personList.add(user_data);
        }
        ListAdapter adapter = new SimpleAdapter(
                DataSendActivity.this, personList, R.layout.layout_chat,
                new String[]{TAG_DATA},
                new int[]{R.id.data}
        );

        list.setAdapter(adapter);

    } catch (JSONException e) {
        e.printStackTrace();
    }
}

推荐答案

使用Handler及其postDelayed方法使列表的适配器失效,如下所示:

final Handler handler = new Handler();
handler.postDelayed( new Runnable() {

    @Override
    public void run() {
        adapter.notifyDataSetChanged();
        handler.postDelayed( this, 5000 );
    }
}, 5000 );

您只能更新主(UI)线程中的UI。

这篇关于如何让ListView每隔5秒刷新一次,数据来自服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆