woong's

Android Resource String 으로 불러오기 본문

Develop/Android

Android Resource String 으로 불러오기

dlsdnd345 2016. 2. 14. 17:09
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Android Resource String 으로 불러오기


안녕하세요 . 이번에 프로젝트 진행하면서 알면서 평소에 정리하지 못한 부분을 정리해보려 합니다 .


이미지는 보통 R.drawable.xxxxxx 를 통해서 불러 옵니다 .

하지만 동적으로 이미지 로드를 하려다보면 String 을 통해서 불러오는 경우가 발생 합니다 .


꼭 String  으로 동적 로드 해야 되는건 아닙니다 .


하단의 첫번째 코드를 통해서 Resource 를 통해서 로드 할 수 있 습니다 .


1
2
3
4
5
6
7
8
9
10
11
12
13
        if(boardList.get(position).getRank().equals("unRank")){
            rankImage.setBackgroundResource(R.drawable.unRank);
        }else if(boardList.get(position).getRank().equals("bronze")){
            rankImage.setBackgroundResource(R.drawable.bronze);
        }else if(boardList.get(position).getRank().equals("silver")){
            rankImage.setBackgroundResource(R.drawable.silver);            
        }else if(boardList.get(position).getRank().equals("gold")){
            rankImage.setBackgroundResource(R.drawable.gold);            
        }else if(boardList.get(position).getRank().equals("platinum")){
            rankImage.setBackgroundResource(R.drawable.platinum);
        }else{
            rankImage.setBackgroundResource(R.drawable.challenge);            
        }


13 줄 정도 되네요 .


하지만 Resource 를 String 으로 입력하면 이렇게 짧게 사용 할 수 있습니다 .


1
2
3
4
        // 이름별 랭크 이미지 삽입
        int resource = convertView.getResources().getIdentifier
        ( "img_rank_"+boardList.get(position).getRank(), "drawable", context.getPackageName());
        rankImage.setBackgroundResource(resource);

 

 

 

Drawable = R.drawable.icon


위 이미지 기준 입니다 .


getResources().getIdentifier("파일 이름", "이미지 타입", "패키지 이름");


getResources().getIdentifier("icon", "drawable", "getPackageName");


이와 같이하면 Drawable 이미지를 불러 올 수 있습니다 .


Comments