0

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ます。

どうもありがとうございました

4

0 に答える 0