リストビューの各行に画像の水平スクロールビューを作成しようとしています。私はピカソを使って画像を取得しています。私の問題は、スクロールすると、水平スクロールビューの画像がごちゃごちゃになることです。into(android.widget.ImageView target, Callback callback) メソッドを使用するとイメージビューの同期に役立つことを期待していましたが、違います。
コード:
public class RParrayAdapter extends ArrayAdapter {
static class ViewHolder {
ImageView photoThumbIv1;
ImageView photoThumbIv2;
int position;
}
private final Context context2;
int mWidth;
int mHeight;
Callback callback;
ViewHolder viewHolder;
public RParrayAdapter(Context context2, ArrayList<Listing2> listings2) {
super(context2, R.layout.list_item, listings2);
this.context2 = context2;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final Listing2 listing2 = getItem(position);
if (convertView == null) {
viewHolder = new ViewHolder();
LayoutInflater inflater = LayoutInflater.from(getContext());
convertView = inflater.inflate(R.layout.list_item, null);
viewHolder.photoThumbIv1 = (ImageView) convertView
.findViewById(R.id.photo_thumb_1);
viewHolder.photoThumbIv2 = (ImageView) convertView
.findViewById(R.id.photo_thumb_2);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
DisplayMetrics metrics = new DisplayMetrics();
metrics = getContext().getResources().getDisplayMetrics();
mWidth = (int) (.9 * (metrics.widthPixels));
mHeight = (int) (mWidth / 1.33);
if (listing2.thumbnail_image_url1 != null) {
Picasso.with(context2).load(listing2.thumbnail_image_url1)
.resize(mWidth, mHeight).centerCrop()
.into(viewHolder.photoThumbIv1, new Callback() {
@Override
public void onSuccess() {
viewHolder.photoThumbIv2
.setVisibility(View.VISIBLE);
}
@Override
public void onError() {
}
});
}
if (listing2.thumbnail_image_url2 != null) {
Picasso.with(context2).load(listing2.thumbnail_image_url2)
.resize(mWidth, mHeight).centerCrop()
.into(viewHolder.photoThumbIv2, new Callback() {
@Override
public void onSuccess() {
viewHolder.photoThumbIv2
.setVisibility(View.VISIBLE);
}
@Override
public void onError() {
}
});
}
Picasso.with(context2).toString();
}
return convertView;
}
}
ご協力ありがとうございます。