如何在 BaseAdapter 中通知数据库更改


片段

中有一个ListView,我希望它在每次创建片段时显示从服务器(json数组)下载的一些消息。下载后,我将消息放入sqlite数据库中,然后使用BaseAdapter在该listView中显示消息。

但是我必须知道 BaseAdapter 中的 getCount() 应该在 setAdapter() 之前返回什么;但是下载消息需要时间,在下载消息之前我不会知道计数。

所以我在片段

中放了一个进度条,并尝试在消息下载并写入数据库后启动另一个片段和 setAdapter()。问题是我如何知道消息何时下载并写入数据库?

使用 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) {}
}

最新更新