GridView
でファイルをダウンロードした後、 内のボタンを更新する方法AsyncTask
。
「filename、imagename、およびURLFile 」を使用しMainActivity
てデータをロードし、アダプターを呼び出して次の項目を設定します。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
ます。
どうもありがとうございました