티스토리 뷰
안드로이드에서 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에서 값을 넣고 가져오는것도 없으니,
더 빠를것 같다는 생각은 드네요.
'Mobile > Android' 카테고리의 다른 글
[Android]프로그래밍 작성시 성능예시 (0) | 2015.05.07 |
---|---|
[Android]manifest의 permission (0) | 2015.05.07 |
[Android]View의 FadingEdge 조절 (0) | 2015.04.20 |
[Android]drawableLeft를 코드에서 (0) | 2015.04.17 |
[Android]21버전이후 dex opt 해결 (0) | 2015.04.17 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- windows10
- Windows
- cocoapods
- Linux
- war
- Gradle
- ios
- Spring
- centos8
- Codable
- Xcode
- Java
- intellij
- tomcat
- MySQL
- Python
- SWIFT
- Kotlin
- rxswift
- github
- nodejs
- ubuntu
- go
- golang
- CentOS
- php
- git
- enum
- android
- docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함