2013-03-17 2 views
1

프로젝트에서 타일에 '텍스처'를로드하려고합니다. '텍스처'는 Res 폴더의 * .png 파일에 불과합니다. 이미지와 타일을 함께 연결하라는 정보는 SQLite 데이터베이스에서 가져옵니다. 문제는이 정보를 문자열 (예 : Rock.png)으로 가져 오는 것입니다. 이 문자열을 리소스 ID (@ drawable/rock)로 어떻게 가져 옵니까?rescource id 찾기

첫 번째 추측은 내가 함께 연결 한 거대한 케이스 스위치가있는 클래스를 작성한 것이지만, 그때는 완전히 정적이지 않은 경우 정적 인 것이라고 결론을 내 렸습니다. 그래서 거기에 더 나은 방법이 있어야하지만 지금까지 나는 ... 그것을 찾을 수 있었어요

답변

2

당신이

int resourceID = MainActivity.this.getResources().getIdentifier(img, "drawable", 
        MainActivity.this.getPackageName()); 

MainActivity를 수행하여 리소스 ID를 얻을 수 있습니다 ==> 현재 활동
img 확장자가없는보기/도면 이름 예 : 예 (.png를) 및 R. (ID/문자열/색상 ...) 당신의 "IMG"
MainActivity.this.getPackageName (의
당김 ==> 형)
==> 현재 패키지 이름

+0

굉장! 내가 바라는대로 정확하게 작동한다. –

+0

@NickOtten 당신을 환영합니다! –