티스토리 뷰

안드로이드에서 ListView를 사용할 경우에, adapter에서 getView에서 View를 변화를 시켜주게 됩니다.

그런데 이러한 부분에서 저희는 ViewHolder를 사용하도록 이야기가 되어 있는데요.


이 부분을 약간은 다르게 구성을 하여 보았습니다.

저는 일단 ViewHolder라는 클래스를 더 만들기 싫어서 생각한것이 다음과 같은데요.


일단 소스는 다음과 같습니다.


if(convertView == null) {

convertView = mInflater.inflate(R.layout.row_title, parent, false);

convertView.setTag(R.id.textView, convertView.findViewById(R.id.textView));

TextView textView = (TextView)convertView.getTag(R.id.textView);


textView.setText(getItem(position));


return convertView;


조금 간략해졌습니다.


getTag내부를 보게 되면, mKeyedTags라는 SparseArray에서 값을 빼오도록 되어 있는데요.

View를 넣어두고 가져오게 되는 방식이겠죠...


개인적인 의견으로는 ViewHolder를 사용하는것이 cast작업도 없고,

SparseArray에서 값을 넣고 가져오는것도 없으니,

더 빠를것 같다는 생각은 드네요.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함