下载asynctask后更新gridview

时间:2013-03-27 21:07:10

标签: android android-asynctask android-adapter

如何使用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

非常感谢

0 个答案:

没有答案