2015-02-06 3 views
1

이 코드를 잘라 냈습니다. 그것의 수평 목록보기. 문제는 동일한 이미지가 다른 이미지 대신로드된다는 것입니다. 문제는 무엇이 될 수 있습니까? 나는 피카소가 여기있는 문제라고 생각하지 않는다. 나는 그 다른 무엇인가 추측한다.가로 목록보기 URL에서 동일한 이미지로드 (피카소 사용)

@Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ViewHolder holder = null; 
//  View timeLineRow = LayoutInflater.from(parent.getContext()).inflate(R.layout.dashboardtimelinerow, null); 
     if (convertView == null) { 
      LayoutInflater mInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      convertView = mInflater.inflate(R.layout.toprecommendationsitem, parent, false); 

      holder = new ViewHolder(); 
      holder.recommimage = (ImageView) convertView.findViewById(R.id.recommimage); 
      holder.userImage = (CircularImageView) convertView.findViewById(R.id.userImage); 

      convertView.setTag(holder); 
     } else 
      holder = (ViewHolder) convertView.getTag(); 
     int i=0; 
     for(i=0; i<mArrayListData.size(); i++) { 
      if (!mArrayListData.get(i).getDishimageurl().isEmpty()) { 
       Picasso.with(mContext) 
         .load(mArrayListData.get(i).getDishimageurl()) 
         .resize(172, 172) 

         .into(holder.recommimage); 
       break; 

      } 
     } 

     return convertView; 
    } 

답변

1

당신은 당신의 getView 함수 내에서 어느 곳 position의 값을 사용하고 있지 않습니다. getView는 배열의 인덱스 position에서 데이터의 어느 부분에 대한 거짓말보기를 반환하거나 전달 나열되어 있습니다. 당신은

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

    if (convertView == null) { 
     LayoutInflater mInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = mInflater.inflate(R.layout.toprecommendationsitem, parent, false); 

     holder = new ViewHolder(); 
     holder.recommimage = (ImageView) convertView.findViewById(R.id.recommimage); 
     holder.userImage = (CircularImageView) convertView.findViewById(R.id.userImage); 

     convertView.setTag(holder); 
    } else { 
     holder = (ViewHolder) convertView.getTag(); 
    } 

    if (!mArrayListData.get(position).getDishimageurl().isEmpty()) { 
     Picasso.with(mContext) 
       .load(mArrayListData.get(position).getDishimageurl()) 
       .resize(172, 172) 
       .into(holder.recommimage); 
    } 

    return convertView; 
} 
같은 것을 사용하여 코드를 대체 할 수 있습니다