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

리소스명을 코드상에서 다시 알아낼수 있는 방법이 있나요 ?

0 추천

이미지뷰에 png 이미지를 적용시킨뒤에 그 리소스명을 리턴 받을수 있는 방법이 있는지 궁금합니다.

혹시나 getResources() 함수가 있어서 사용해 보았는데요.

07-14 02:29:57.015      563-563/kr.qoop.memory_game E/Res﹕ Res :android.content.res.Resources@6767d13

이런 고유값으로 출력되는데 제가 원하는것은 리소스 즉 png의 네이밍입니다.

ex) 리소스가 Buttom.png라고 치면 원하는값(Buttom)

부탁드리겠습니다 선배님들 ㅠ

익명사용자 님이 2015년 7월 14일 질문

2개의 답변

+1 추천
 
채택된 답변
이미지 뷰에 리소스를 할당 할때 이미 리소스 네임을 알고 있지 않나요?

getResource해서 로그로 출력하신건 memory address 입니다.

정 필요하시면 이미지뷰를 상속 받아서 리소스 네임을 저장하는 string 변수를 만들어놓고 리소스 넣는 함수를 오버라이딩 해서 그때 리소스 네임을 저장했다가 get 함수 만들어서 쓰세요.
ㄱㄴㄷ 님이 2015년 7월 14일 답변
답변감사드립니다 ㄱㄴㄷ님
리소스 명은 이미 알고있지만 .
    public int Res_Change(String Res_name, String Res_File_Name, int Pos) {
        int Res = 0;
        String Res_Name = Res_name + Pos;
//        Log.e("Tag", "Res: " + Res_Name);
        Res = getResources().getIdentifier(Res_Name, Res_File_Name, getPackageName());
        return Res;
    }//리소스 대입 함수.

이런방식으로 리소스에 숫자를 붙여서 관리하고있는데요.. 이렇게 하려면 앞에 네임이 동일해야 합니다. song+숫자 이런식으로 그런것이 아니라
cat_off 이런식으로 네이밍을 주려고 하는것이구요.

리소스명을 알고 있다면 리소스명+_off로 처리하면 가능할까 싶어서 질문드렸습니다.ㅎㅎ
됩니다.                                   .
+2 추천
getIdentifier 를 검색하세요
aucd29 (218,390 포인트) 님이 2015년 7월 14일 답변
답변감사드립니다.  aucd29님 ㅎ getIdentifier 에서 리소스명을 가지고오는 함수가 있는지 검색해봐야겠군요 ㅠ
...