2016-03-22 39 views
-3

Bir parçada bir ListView var, her parça oluşturulduğunda sunucudan (json dizileri) indirilen bazı iletileri göstermesini istiyorum. Karşıdan yükledikten sonra iletileri bir sqlite veritabanına koydum ve daha sonra bu listeden iletileri görüntülemek için BaseAdapter kullanın.BaseAdapter'ta veritabanı değişikliği nasıl bildirilir?

Ancak, BaseAdapter öğesinde getCount() öğesinin setAdapter() öğesinden önce ne döndürmesi gerektiğini bilmek zorundayım; ancak mesajların yüklenmesi zaman gerektirir, mesajlar indirilene kadar sayımı bilmem.

Bu nedenle, parçaya bir ilerleme çubuğu koydum ve iletiler indirildikten ve veritabanına yazıldıktan sonra başka bir parça ve setAdapter() başlatmaya çalışıyorum. Soru, mesajların ne zaman indirilip veritabanına yazıldığını nasıl anlayabilirim?

+4

Post kodu. –

cevap

1

kullanın bir AsyncTask

class DownLoadMessage extends AsyncTask<String, Void, String> { 

    @Override 
    protected String doInBackground(String... params) { 

     //here you download your message 

     return "Executed"; 
    } 

    @Override 
    protected void onPostExecute(String result) { 

     // and here you set your adapter 

    } 

    @Override 
    protected void onPreExecute() {} 

    @Override 
    protected void onProgressUpdate(Void... values) {} 
} 
İlgili konular