如何GridView
在下载文件后使用AsyncTask
.
我使用“文件名、图像名和 URLFile”MainActivity
加载数据,然后调用适配器来填充以下项目:ArrayList
GridView
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”的按钮。
我需要重新调用我的适配器onPostExecute
,FileDownloadTask
但我不知道最好的方法。
PS:我相信这notifyDataSetChanged()
不是解决方案,因为我不改变我的ArrayList
.
非常感谢