1

の有効利用としてBaseAdapter、ViewHolder を使用してリサイクル用のアイテムを保持します。

ImageLoader通常、ライブラリで画像をロードしますが、問題ありません。

今回はByteArrayから画像を読み込んでいるのですが、読み込んでListViewをスクロールするとぐちゃぐちゃになります。

これは私のコードです:

      class ViewHolderItem {
          CircularImageView circularImageView1;
          TextView textView1, textView2;
          ProgressBar progressBar1;
      }

      @Override
      public View getView(int position, View convertView, ViewGroup var3) {
          Scuola scuolaItem = lista.get(position);
          ViewHolderItem viewHolderItem;
          if(convertView == null) {
              convertView = ((LayoutInflater)getSystemService("layout_inflater")).inflate(R.layout.item_elencoscuole, var3, false);
              viewHolderItem = new ViewHolderItem();
              viewHolderItem.textView1 = (TextView)convertView.findViewById(R.id.textView1);
              viewHolderItem.textView2 = (TextView)convertView.findViewById(R.id.textView2);

              viewHolderItem.progressBar1 = (ProgressBar)convertView.findViewById(R.id.progressBar1);

              viewHolderItem.circularImageView1 = (CircularImageView)convertView.findViewById(R.id.circularImageView1);

              convertView.setTag(viewHolderItem);
          } else {
              viewHolderItem = (ViewHolderItem)convertView.getTag();
          }

          viewHolderItem.textView1.setText(scuolaItem.getNome());
          viewHolderItem.textView2.setText(scuolaItem.getDistanzaDaOrigine() + " " + scuola.getUnitaDistanza());

          byte[] imageAsBytes = Base64.decode(scuolaItem.getLogoFile(), Base64.DEFAULT);
          viewHolderItem.circularImageView1.setImageBitmap(BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length));

      viewHolderItem.progressBar1.setVisibility(View.GONE);

          return convertView;
    }

どうすれば修正できますか?

ありがとう。

4

0 に答える 0