如何使用GridView
下载文件后更新AsyncTask
内的按钮。
我的MainActivity
使用“filename,imagename和URLFile”加载ArrayList
数据,然后调用适配器填充GridView
的项目:
gridView.setAdapter(new AdapterFiles(getApplicationContext(), mArray);
我的适配器扩展BaseAdapter
,并为每个项目添加名称,图像和按钮。
如果PDF文件不存在,应用程序将添加名为“DOWNLOAD”的按钮:
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
。
非常感谢