유연성 있는 ViewHolder Pattern

 

import android.util.SparseArray; 
import android.view.View;  
public class ViewHolder {  	
    @SuppressWarnings("unchecked") 	
    public static <T extends View> T get(View view, int id) { 		
        SparseArray<View> viewHolder = (SparseArray<View>) view.getTag();  		
        if (viewHolder == null) { 			
            viewHolder = new SparseArray<View>(); 			
            view.setTag(viewHolder); 		
        }  		
        
        View childView = viewHolder.get(id);  		
        if (childView == null) { 			
            childView = view.findViewById(id); 			
            viewHolder.put(id, childView); 		
        }  		
    
        return (T) childView; 	
    } 
}

 

ViewHolder.get(convertView, R.id.resId);

 

출처

http://www.kmshack.kr/android-%EC%9C%A0%EC%97%B0%EC%84%B1-%EC%9E%88%EB%8A%94-viewholder-pattern

댓글