어제 비트맵 용량 관련 질문했던 갤런데 간단하게 소스하나 올려볼게
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater vi = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = vi.inflate(R.layout.list, null);
holder = new ViewHolder();
holder.text1 = (TextView) convertView.findViewById(R.id.artist);
holder.text2 = (TextView) convertView.findViewById(R.id.musictext);
holder.image1 = (ImageView) convertView.findViewById(R.id.album_art);
holder.albumId = Long.parseLong(items.get(position).draw);
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}
MusicList p = items.get(position);
if (p != null) {
albumArt = MusicUtil.getArtworkQuick(context, Integer.parseInt(p.draw), 50, 50);
if (holder.text2 != null){
holder.text2.setText(items.get(position).name);
}
if( holder.image1 != null ){
holder.image1.setImageBitmap(albumArt);
if(albumArt == null)
holder.image1.setImageResource(R.drawable.ic_launcher);
if(p.data.matches("<.*>"))
holder.image1.setImageResource(R.drawable.folder);
}
if ( holder.text1 != null) {
holder.text1.setText(items.get(position).artist);
}
}
return convertView;
}
이게 겟뷰 메소드를 오버라이딩한 소스거든
컨텐트뷰가 null이라면 태그를 생성하고, 컨텐트뷰가 이미 생성됐다면 재사용하는 방식인데
그래도 굵은색 글씨로 칠한 비트맵 객체 생성하는 부분 때문에 버벅임이 너무 심한거같음
저 메서드는 getArtworkQuick이라고 네이버에 치면 바로 나오더라
디버깅 이리저리 하다보니 변수가 좀 이상해졌는데 어차피 짧은소스니 그냥 봐주삼 ㅎㅎ
우왕...이런 걸레짝같은게 밍기적밍기적 돌아간다는게 신기하네요
getartworkquick 메소드 쓰인 소스들 다 받아써봤는데 마찬가지인듯 .... 다른거 받아써야겠다..