Contents

조회 수 5015 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

동적인 문자열로 리소스 가져오는 방법.

문자열로 해당 Resource (혹은 레이아웃에 포함된 View) 의 ID 값을 가져온다;


-----------------------------------------------------------------

getResources().getIdentifier(패키지명:디렉토리/파일명, null, null);

또는,

getResources().getIdentifier(파일명, 디렉토리명, 패키지명);

-----------------------------------------------------------------


String resName = "@drawable/imgEnd";
String packName = this.getPackageName(); // 패키지명
int resID = getResources().getIdentifier(resName, "drawable", packName);

String viewName = "imgViewEnd";
String packName = this.getPackageName(); // 패키지명
int resID = getResources().getIdentifier(resName, "id", packName);


주로 리소스/뷰의 이름을 조합형식으로 만들어 가져와야 할 경우 이런 코드를 사용할 수 있다.

예를 들어,

for (int i=0; i < 3; i++) {
    String resName = "@drawable/img_" + i;
    // 결론적으로 이미지 리소스 이름은 img_1, img_2, img_3 이 되겠다;
    int resID = getResources().getIdentifier(resName, "drawable", packName);

    ImageView iv = (ImageView)findViewById(R.id.imgView);
    iv.setImageResource(resID); // 이미지뷰의 이미지를 설정한다;
}


적용한 샘플코드 ㅋㄷ

int count = 0;
for(int r=0; r<puzButtons.length; r++){
    for(int c=0; c<puzButtons[r].length; c++){
    // getResources().getIdentifier(패키지명:디렉토리/파일명, null, null);
    //String buttonName = getPackageName() + ":id/btn" + r + c;
    //int id = getResources().getIdentifier(buttonName, null, null);

    // 또는, getResources().getIdentifier(파일명, 디렉토리명, 패키지명);
    String idName = "btn" + r + c;
    int id = getResources().getIdentifier(idName, "id", getPackageName());

    puzButtons[r][c] = (Button)findViewById(id);
    puzButtons[r][c].setText(Integer.toString(ar[count]));
    if(listen == true) {
        puzButtons[r][c].setOnClickListener(listener);
    }
    puzButtons[r][c].setTag(new Point(r,c));

    if(ar[count] == 0){
        curPoint.set(r, c);
        puzButtons[r][c].setText("");
    }

    count++;
    }
}


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
843 Develop 프로그램 문서 관리 (Doxygen) hooni 2013.04.23 17838
842 Develop 프로그래밍에서 foo, bar 함수의 유래 file hooni 2013.06.25 22891
841 Develop 프로그래밍 소스 관련 사이트.. hooni 2013.04.23 17902
840 Develop 페이팔에서 돈 찾기 (Paypal withdraw) file hooni 2014.02.20 12756
839 Develop 캘리포니아 운전면허 족보 file hooni 2017.06.12 2829
838 Develop 최근 논문 자료 (2011/01/03, 만현형한테 보낸거..) secret hooni 2013.04.23 10366
837 Develop 참고하고 지울 자료.. 집에서 바야지.. ㅋㅋ file hooni 2013.04.23 14095
836 Develop 정리할 자료. file hooni 2015.07.02 2107
835 Develop 자주 쓰는 Docker 명령어 alias hooni 2020.01.10 289774
834 Develop 이어서 작업할 내용~ secret hooni 2013.11.21 0
833 Develop 웹페이지 성능 테스트 툴 설명 hooni 2013.04.23 28463
832 Develop 알고리즘 성능분석 file hooni 2014.06.24 4275
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 71 Next
/ 71