本文介紹了如何讓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秒刷新一次,數據來自服務器的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,