본문 바로가기

Mobile/Android Memo

Android 문자열로 리소스 접근하기

Android 문자열로 리소스 접근하기


Android 에서 res 파일에 들어있는 drawable / style / value .. 등등의 파일 내의 것들은 R.java 로 접근합니다.

ex) R.id.imageView


만약 코드상에서 문자열로 얻어오고 싶을 경우 다음과 같이 사용하면 됩니다.



imageView.setImageDrawable(getResources().getIdentifier("image1","drawable",getPackageName()));

* drawable 폴더의 image1 파일을 가져오고 싶을때 사용.




* 만약 values 폴더의 string.xml 에 정의한 것을 가져올 때는 "drawable" 을 "string" 으로 바꾸어주시면 됩니다.

* 마찬가지로 integer.xml 에 정의한 것을 가져올 때는 "integer" 로 바꾸어주시면 됩니다.




*drawable 내에 sample1.png ~ sample10.png 를 읽어올 경우


 ArrayList idList = new ArrayList();
 for(int i = 0; i < 10; i++){
  StringBuilder fileName = new StringBuilder("sample");
  fileName.append( i + 1 );
  idList.add( getResources().getIdentifier( fileName.toString(), "drawable", getPackageName()) );
}