GridViewでファイルをダウンロードした後、 内のボタンを更新する方法AsyncTask。
「filename、imagename、およびURLFile 」を使用しMainActivityてデータをロードし、アダプターを呼び出して次の項目を設定します。ArrayListGridView
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」という名前のボタンを変更することです。
のアダプタを再度呼び出す必要がありますが、これを行う最善の方法がわかりません。onPostExecuteFileDownloadTask
PS: 私notifyDataSetChanged()は変更しないので、それは解決策ではないと思いArrayListます。
どうもありがとうございました