2016-03-22 9 views
-3

フラグメントにListViewがあり、フラグメントが作成されるたびにサーバーからダウンロードされたメッセージ(json配列)を表示します。ダウンロードした後、私はsqliteデータベースにメッセージを入れ、BaseAdapterを使って、そのlistViewのメッセージを明らかにします。BaseAdapterでデータベースの変更を通知する方法は?

しかし、私は、BaseAdapterのgetCount()がsetAdapter()の前に返すべきものを知っていなければなりません。メッセージをダウンロードするには時間がかかるので、メッセージがダウンロードされるまでカウントはわかりません。

私はフラグメントに進捗バーを置き、メッセージがダウンロードされてデータベースに書き込まれた後に別のフラグメントとsetAdapter()を開始しようとします。質問は、メッセージがダウンロードされてデータベースに書き込まれるタイミングをどのように知ることができるのですか?

+4

を使用してください。 –

答えて

1

はあなたのコードを投稿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) {} 
} 
関連する問題