1

私はdeveloper.android.comの記事 「Making ListView Scrolling Smooth」に従っています

コードのスニペットは次のとおりです。

protected void onPostExecute(Bitmap result) { 
    super.onPostExecute(result); 
    if (v.position == position) { 
        // If this item hasn't been recycled already, hide the 
        // progress and set and show the image 
        v.progress.setVisibility(View.GONE); 
        v.icon.setVisibility(View.VISIBLE); 
        v.icon.setImageBitmap(result); 
    } 
} 

変数「位置」が何であるかわかりません。そして、なぜ「v.position == position」でアイテムがリサイクルされていないかどうかを判断できるのです。

私はアイデアを試しました:クラス変数の位置をgetViewの位置と同じに設定します。しかし、うまくいきません。

また、「パフォーマンスのためのマルチスレッド」で非同期タスクを実行する同様のコードも見つけました。これは、アイテムが存在するかどうかを判断するために「WeakReference」を使用します。どちらの方法も同じように効果的ですか?

4

1 に答える 1