마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

이미지 호출 관련해서 질문드립니다.

0 추천

어댑터에서 커스텀 리스트뷰 아이템을 추가할 때, 커스텀 리스트뷰에 이미지뷰가 있어서 그곳에 이미지를 넣으려고 합니다.

그런데, 보통 다음과 같은 소스로 이미지를 추가하는데

adapter.addItem(ContextCompat.getDrawable(this, R.drawable.ic_face_24dp),
        name1[i], name2[i]);

여기서 R.drawable을 사용하지 않고 다른 고유값 과 같은 것을 통하여 추가하는 방법이 뭐가 있을까요?

현재 하는 방법을 몰라서 저런식으로 구현을 했는데, 원하고자 하는 방식은

DB에서 이미지의 URL을 가져와서 아이템을 추가할 떄, 그 URL을 사용하여 해당 이미지를 넣어주고 싶습니다.

또한, URL을 사용하지 않고 기존에 사용된 이미지의 id값을 구하여서 사용하는 방법도 찾아 봤는데,

imgId[i] = getApplicationContext().getResources().getIdentifier(image[i],"drawable",null);
 adapter.addItem(ContextCompat.getDrawable(this, imgId[i]),
             name1[i], name2[i]);

이런식으로 사용했는데 imgId값에 제대로된 값이 들어가지 않더라구요.

이때 image[i]에 들어가있는 값은

Drawable iconDrawable = item.getIcon();
iamge[i] = iconDrawable.toString()

형식으로 for문을 통하여 리스트의 이미지에 대한 값을 받아왔습니다.

item.getIcon은 해당 클래스에서

return this.iconDrawable ; 

를 통하여 그냥 이미지를 리턴해주는 함수입니다.

 

첫 번째 방법의 해답과, 두 번째 문제의 해결 방안을 알려주셨으면 합니다.

HG_Sum (120 포인트) 님이 2016년 10월 27일 질문

1개의 답변

0 추천
서버에 있는 이미지를 이미지뷰에 쉽게 비동기로 디스플레이 하시고 싶으시다면 Glide 라이브러리나 피카소 또는 AUIL 라이브러리를 활용해보세요.
갸아악 (21,260 포인트) 님이 2016년 10월 27일 답변
...