0

如何GridView在下载文件后使用AsyncTask.

我使用“文件名、图像名和 URLFile”MainActivity加载数据,然后调用适配器来填充以下项目:ArrayListGridView

gridView.setAdapter(new AdapterFiles(getApplicationContext(), mArray);

我的适配器 extends BaseAdapter,并为每个项目添加名称、图像和按钮。如果 PDF 文件不存在,应用程序会添加名称为“下载”的按钮:

if (!pdfFile.exists(){
    viewHolder.imageButon.setImageResource(R.drawable.btn_download);
} else {
    viewHolder.imageButon.setImageResource(R.drawable.btn_read);
}

单击此按钮时,将AsyncTask调用一个新类来下载文件:

viewHolder.imageButon.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        FileDownloadTask task = new FileDownloadTask(item, localdownload);                                            
        task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
    }
}

问题是,我还没有找到重新加载适配器的方法,并“重新检查”文件是否存在并更改名称为“READ”的按钮。

我需要重新调用我的适配器onPostExecuteFileDownloadTask但我不知道最好的方法。

PS:我相信这notifyDataSetChanged()不是解决方案,因为我不改变我的ArrayList.

非常感谢

4

0 回答 0