これが私の問題です:
最初は GONE に設定されている ImageView を含む ListView がありますが、カスタム アダプターでいくつかの処理を行った後、それを表示に設定します。
私の問題は、リストの最初の要素を選択すると、4 つの項目ごとにそのイメージが VISIBLE に設定されることです。
私は自分自身を説明したことを願っています。ご不明な点がございましたら、お気軽にお問い合わせください。
編集してコードを追加します。私はスペイン人なので、一部はスペイン語です。
getView(): ビュー v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.list_view_item, null);
}
final Oferta o = items.get(position);
boolean comprado = false;
if (o != null) {
final ImageView image = (ImageView) v.findViewById(R.id.imageView1);
TextView titulo = (TextView) v.findViewById(R.id.textView1);
TextView precioAnterior = (TextView) v.findViewById(R.id.textView2);
TextView precioNuevo = (TextView) v.findViewById(R.id.textView3);
TextView fechaHasta = (TextView) v.findViewById(R.id.textView4);
ImageView imageComprado = (ImageView) v.findViewById(R.id.imageView2);
Drawable compra = this.getContext().getResources().getDrawable(R.drawable.comprada);
for(int i = 0; i < MainActivity.tickets.size();i++)
{
if((MainActivity.tickets.get(i).getOferta().getId()) == (o.getId()))
{
System.out.println("tickets: " + MainActivity.tickets.get(i).getOferta().getId());
System.out.println("oferta: " + o.getId());
comprado = true;
break;
}
}
if (comprado)
{
imageComprado.setVisibility(View.VISIBLE);
comprado = false;
}
if (titulo != null) {
titulo.setText(o.getTitulo());
}
if(precioAnterior != null){
precioNuevo.setText(String.valueOf(new java.text.DecimalFormat("#.##").format(o.getPrecioNuevo()))+"€");
}
if(precioNuevo != null){
precioAnterior.setPaintFlags(precioAnterior.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
precioAnterior.setText(String.valueOf(new java.text.DecimalFormat("#.##").format(o.getPrecioAnterior()))+"€");
}
if(fechaHasta != null){
fechaHasta.setText("Cad.: " + o.getDisponibleHasta());
}
if(image != null){
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
.cacheInMemory()
.cacheOnDisc()
.build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getContext())
.defaultDisplayImageOptions(defaultOptions)
.build();
ImageLoader.getInstance().init(config);
//imageLoader.init(ImageLoaderConfiguration.createDefault(getApplicationContext()));
ImageLoader.getInstance().displayImage(o.getImagen(), image);
}