2013-10-28 2 views
0

내 ListView 및 ViewHolder 클래스를 사용하여 CustomAdapter를 구현하고 있습니다.안드로이드 : ViewHolder 개념

 if (convertView == null) { 
     ViewHolder viewHolder = new ViewHolder(); 
     LayoutInflater inflater = (LayoutInflater) context 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = inflater.inflate(R.layout.card_item, null); 
     viewHolder.ivCard = (ImageView) convertView 
       .findViewById(R.id.ivCardImage); 

     convertView.setTag(viewHolder); 
    } 


    final ViewHolder holder = (ViewHolder) convertView.getTag(); 

하지만 내 동료 내 변종 쇼 목록 항목이 잘못하고

내가 그들의 코드가 가장 좋은 방법이라고 이해
ViewHolder holder; 
if (convertView == null) { 
     holder = new ViewHolder(); 
     LayoutInflater inflater = (LayoutInflater) context 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = inflater.inflate(R.layout.card_item, null); 
     holder.ivCard = (ImageView) convertView 
       .findViewById(R.id.ivCardImage); 

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

로 보정 할 수 있다고,하지만 정말에 영향을 줄 수 있습니다 내 코드했다 항목 매핑을 나열 하시겠습니까?

+0

네, 분명히 항목 매핑에 영향을 미칩니다. ViewHolder는 항상 getView 메소드가 호출 될 때마다 레이아웃을 한 번 팽창시키기 때문입니다. 그러나 레이아웃이 이미 팽창 된 경우 ID에 액세스 할 때 레이아웃을 사용하게됩니다. – GrIsHu

+0

그러나 두 변형 모두 ViewHolder는 뷰 태그에서 가져옵니다. – peliken

+0

예, 매핑에 영향을줍니다. 목록보기를 스크롤하거나 화면을 가로 모드로 전환하십시오. U는 diffrence를 이해할 수 있습니다 – Arun

답변

0

아니요, 코드는 목록 항목 매핑에 영향을주지 않습니다.