2016-05-24 10 views
0

Ich habe ListView, die Daten haben. Daten kommen vom Server und ich möchte die ListView nach alle 5 Sekunden aktualisieren. Wie macht man das? Ich bin neu in der Android-Entwicklung. Bitte hilf mir. Hier ist mein Code ...Wie ListView zu aktualisieren alle 5 Sekunden, wenn Daten von einem Server kommen

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(); 
    } 
} 
+0

möchten Sie Daten vom Server abrufen und Listenansicht aktualisieren. –

+0

Ja, ich möchte diese –

+0

Daten mit Service und die Verwendung notifidatasetchanges holen() –

Antwort

1

ein Handler verwenden und seine postDelayed Methode der Liste der Adapter ungültig zu machen, wie folgt:

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

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

Sie nur UI in der Haupt (UI) Thread aktualisieren.

+0

wo kann ich diesen Code verwenden –

+0

@MasoomBacha in Ihrem 'OnCreate' erstellen Sie eine einfache Methode und rufen' Handler' für diesen Ort. Es aktualisiert die Listenansicht alle 5 Sekunden. – Ironman

+0

@MasoomBacha für weitere Informationen besuchen Sie diese: http: //stackoverflow.com/questions/12916084/android-update-listview-items-every-1-minute – Ironman

0

Sie können diese Frage und Kommentar How to refresh/Update Serialize Java Object in sharedPreferences sehen. der Benutzer möchte das gleiche. Allerdings ist es gut, Loader mit Service für diese Art von Problem zu verwenden, die asyncTask innerhalb von Minuten aufruft, ist nicht gut. Auch gibt es ein Beispielprojekt, das Sie überprüfen können, dass https://github.com/Michenux/YourAppIdea auch in Playstore verfügbar ist, die auf Datenänderungen vom Server überprüfen.