0

私のアプリケーションでは、画像はサーバーから読み込まれます。画像の読み込みに画像ローダーを使用しました。しかし、問題は、画像の読み込み中にリストビューをスクロールすると、画像がシャッフルされ、画像の順序が間違っていることです。ただし、読み込みが完了すると、すべての画像が正しい位置に配置されます。ここでスクロールすると、画像がシャッフルされておらず、正しい位置にあります。私はリストビューで使用setTag()getTag()ましたgetView()。リストビューに画像をロードする際の画像シャッフルの問題を修正するのを手伝ってください。これが私のコードですgetView()

public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        View rowView = convertView;
        ProgressBar progress;
        ImageView image;
        ViewHolder view_holder = null;
        String m_AllImages=m_BaseImageAll.get(position);

        try {

            if (rowView == null) {
                rowView = inflater.inflate(R.layout.photo_show_sub,
                        null);

                view_holder = new ViewHolder();
                view_holder.progress = (ProgressBar) rowView.findViewById(R.id.photoGalProgress);
                view_holder.image = (ImageView) rowView.findViewById(R.id.image);

            }
            else
            {   

                view_holder = (ViewHolder) rowView.getTag();

            }
            imageLoader.displayImage(m_AllImages,
                    activity, view_holder.image, view_holder.progress);

        } catch (Exception ex) {
            ex.printStackTrace();
        }

        return rowView;
    }
4

2 に答える 2

3

この行をコードに追加してください::

  holder.image.setTag(m_AllImages.get(position));
 imageLoader.displayImage(m_AllImages, activity, view_holder.image, view_holder.progress);
于 2012-12-03T13:19:13.127 に答える
2

実際には、画像がシャッフルされたり、一部の画像が以前よりも速くダウンロードされたり、画像のない ImageView がラップアウトされたり、ロードされた画像が最初に表示されたりすることはありません。そのため、すべての画像がダウンロードされて実際にシャッフルされない限り、最初はシャッフルされているように見えます。

ダミー画像で確認してください

image.setImageBitmap(R.Drawable.ic_launcher);

于 2012-12-03T13:33:30.587 に答える