안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요?
개발중,, 리스트뷰에서 이상한 일이 생겨서 문의드립니다.
제 리스트뷰의 각 row에는 ImageButton 이 세개씩 들어가있습니다.
ImageButton의 scaletype 은 fit_xy입니다.
그리고 custom list adapter 의 getview에서 제가 동적으로 얻어온 Drawable(app icon들)을
각 버튼의 이미지로 set하고 있습니다.
viewHolder.icon2.setBackgroundDrawable(app2.getIcon());
A activity에서 지금 리스트뷰를 보여주고 있고,
리스트뷰의 row에 있는 이미지버튼을 클릭하면 B activity로 이동합니다.
문제는 B activity에서 back키로 A activity로 돌아온뒤 리스트뷰를 스크롤하면
imagebutton들에 보이던 app icon들이 본래 사이즈로 돌아가버리는 것입니다.
즉 imagebutton의 사이즈는 80dp*80dp이고 scalytype은 fit_xy로 정상적으로 scale되어 보여지고있다가,
문제가 발생하는 시점에 이미지들의 사이즈가 original 크기로 돌아가버리는 것입니다.
문제가 발생하는 시점에 getview를 찍어봐도 getview 함수를 타지 않습니다.
원인을 몰라서, B activity에서 돌아오면 무조건 리스트뷰를 다시 만드는 방법으로 일단 임시처방을 해두었는데,,
왜 이런 문제가 생기는지 잘 모르겠네요.
조언 부탁드리겠습니다.