2011-12-24 20 views
1

私はカスタムアダプタでリストビューを持っています。 各リストビューアイテムにはImageViewがあります。 ImageViewはカメラまたはギャラリーから取得され、変更することができます。ListViewAdapterイメージの読み込み

私は、アダプタにこのコードを持っている:

@Override 
    public View getView( int   position, 
          View  convertView, 
          ViewGroup parent) 
    { 
      ViewHolder holder = new ViewHolder(); 

      if (convertView == null) 
      { 
       convertView = mInflater.inflate(R.layout.instruction_list_view_entry, null); 
       holder.instructionIndex = (TextView) convertView.findViewById(R.id.listUp_InstructionNumberTextBoxId); 
       holder.instructionText = (TextView) convertView.findViewById(R.id.listUp_InstructioTextTextBoxId); 
       holder.instructionImage = (ImageView)convertView.findViewById(R.id.listUp_InstructionImageViewId); 

       holder.instructionIndex.setTypeface( MyApp.Fonts.ERAS_BOLD); 
       holder.instructionIndex.setTextSize( MyApp.Fonts.INSTRUCTION_ID_TEXT_SIZE); 

       holder.instructionText.setTypeface( MyApp.Fonts.ARIAL); 
       holder.instructionText.setTextSize( MyApp.Fonts.RUNNING_TEXT_SIZE); 
       holder.instructionText.setTextColor(Color.BLACK); 
      } 
      else 
      { 
       holder = (ViewHolder) convertView.getTag(); 
      } 

      if(super.getItem(position) != null) 
      { 
       holder.instructionIndex.setText(Integer.toString(getItem(position).getIndex())); 

       holder.instructionText.setText(getItem(position).getText()); 

       if(getItem(position).GetImageUploadItem().isValid()) 
       { 
        mImageLoader.DisplayImage( getItem(position).GetInstructionImageLocation(), 
               getItem(position).IsUsingLocalPictures(), 
               mContext, 
               holder.instructionImage); 

        holder.instructionImage.setVisibility(View.VISIBLE); 
       } 
       else 
       { 
        holder.instructionImage.setVisibility(View.GONE); 
       } 

       convertView.setTag(holder); 
      } 

      return convertView; 
    } 

    @Override 
    public boolean isEnabled(int position) 
    { 
     return mCanBeEnabled; 
    } 

    static class ViewHolder 
    { 
      TextView instructionIndex; 
      TextView instructionText; 
      ImageView instructionImage; 
    } 

ImageLoaderは番目のファイルからイメージをロードするクラスです。

私が見ている問題は、画像が複数行ある場合、スクロールが滑らかではなく、うまくいかないことです。

ImageLoadingが常に作成されていることがわかりました。 どうすれば修正できますか?画像を変更してから再読み込みする必要があることに注意してください。 アダプター内のデータにイメージのフラグを変更してロードするだけかもしれませんか?

他のアイデアはありますか?

がうまくいけば、この記事はその方向にあなたをポイントします:

答えて

関連する問題