GillesDebunneがMultithreadingForPerformanceで説明しているように、ImageDownloaderを使用していますが、簡単な拡張機能を作成したいと思います。
ProgressBar
まだダウンロードされていない各リストアイテムに不確定を追加したいと思います。私はそれを次のように呼び出すことによって、ほとんどセットアップしました:
progressBar.setVisibility(View.VISIBLE); // in the AsyncTask preExecute()
progressBar.setVisibility(View.INVISIBLE); // in the AsyncTask postExecute()
具体的には、imageViewのビットマップが次のpostExecute()
ように設定されるとすぐにプログレスバーを非表示にマークします。
if (this == bitmapDownloaderTask) {
imageView.setImageBitmap(bitmap);
progBar.setVisibility(View.INVISIBLE);
}
しかし、最初にプログレスバーをに表示するための適切なテストを見つけることができませんでしたpreExecute()
。私は次のさまざまな組み合わせを試しました:
if (imageView == null)
if (imageView.getDrawingCache() == null)
if (downloadedDrawable == null)
if (downloadedDrawable.getColor() == Color.BLACK)
誰かがこれを機能させる方法についての提案がありますか?つまり、特定のビットマップが設定されているかどうかを判断するためのこのコードの適切なテストは何ですか?ありがとう!