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

이미지 주소값 관련 질문드립니다..초보라 ㅠㅠ

0 추천
초보라서 ...ㅠㅠ

 

이미지 파일이 3개 있다고 가정할게요

aaa.png

bbb.png

ccc.png

 

그리고 문자열 배열에 3개값이 들어있습니다.

 

String str = {"aaa" , "bbb", "ccc"};

 

그리고 지금 img 라는 이미지뷰에서 aaa.png 를 쓰고있습니다.

이미지를 bbb.png  로 바꾸려면

img.setImageResource(R.drawable.bbb);

이렇게 해야되는건 알고있습니다.

 

근데 img.setImageResource(R.drawable.str[1]);

 

이런식으로 해보면 안되네요..

제 어플에선 이미지 파일이 많아서..........

 

정리해보면 이미지 파일들이 있고, 그 이미지 파일의 이름들과 똑같이 이루어진 문자열 배열이 있는 상황입니다.

 

쉬운 답변 부탁드립니다 !!
김원장91 (1,470 포인트) 님이 2015년 7월 20일 질문

2개의 답변

0 추천
R.drawable.bbb는 문자열이 아니예요. 즉 R.drawable.bbb != "bbb"

R.drawable.xxx는 string이 아니고 int입니다. resoure의 id 입니다.
컴러기 (22,230 포인트) 님이 2015년 7월 20일 답변
0 추천

그것보다.   

int  Res = getResources().getIdentifier(리소스이름, 리소스경로(ex"raw","drawble", getPackageName());
    
이런식으로 리소스 이름을 가져와 쓸수있어요 .

res 이름 aaa라고했을때

   int  Res = getResources().getIdentifier("aaa","drawable", getPackageName());

이걸 int 변수에 담고  setImageResource(Res); 하시면 되요.

님처럼 배열에 넣으시려면

int str = {R.drawable.aaa ,R.drawable.bbb,R.drawable.ccc}; 이런식으로넣고
img.setImageResource(str[1]); 이런식으로 넣어야됩니다.

익명사용자 님이 2015년 7월 20일 답변
...