如何让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。
相关文章