0

いくつかの画像をダウンロードするために使用している次の asynctask があります。次の画像に移動してから再度戻るなどの操作を行わない限り、常に表示されるとは限らない最初の画像を除いて、正常に動作します。

public class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
    static ImageView _imageView=null;

    public DownloadImageTask(ImageView ctl){
        _imageView=ctl;
    }

    protected void onPostExecute(Bitmap result) {
        _imageView.setImageBitmap(result);
    }
    ...
}

これはバックグラウンド スレッドで UI を更新する際の問題かもしれないと考えたので、.setImageBitmap() を呼び出す UI スレッドでメソッドを呼び出す抽象クラスを使用してこれを作り直しましたが、それでも同じ動作が得られます - すべてに対して正常に動作します次の画像に移動して再び戻る場合を除き、最初の画像を除く画像。

画像を設定した後、画像ビューを強制的に再描画する方法はありますか?

4

1 に答える 1

0

私は同様の問題を抱えていましたが、私Activity.onCreate()がしたことは次のようなものでした:

ListView listView = (ListView) findViewById(R.id.myListView);
adapter = new MyArrayAdapter(this, myArray, ...);
listView.setAdapter(adapter);
if (myArray.size() > 0)
{
    // Fake a click on the first item
    onItemClick(listView, myArray, 0, 0);
}

次に、現在の行onItemClick()を見つけるために必要なことを行います。ImageViewもちろん、あなたのコードを見なければ、上記はただの推測です...

于 2012-05-31T04:37:08.067 に答える