안녕하세요.

 

R.drawable.a의 경우 아래와 같이 바꾸어서 가지고 올수 있는데요.
context.getResources().getIdentifier("a", "drawable", context.getPackageName());

 

그런데 R.styleable.XXX 의 경우 int[]로 넘어오는데 아래와 같이 사용을 하려고 하니 리턴값이 0 이 됩니다.

context.getResources().getIntArray(context.getResources().getIdentifier("XXX", "styleable", context.getPackageName()))

 

R.styleable.XXX 는 attrs.xml에 정의 되어 있습니다.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="XXX">

    ... 생략
    </declare-styleable>
</resources>

 

어떻게 해야지 context.getResources().를 사용하여 불러올 수 있을까요?

 

위와 같이 하려는 이유는 어제 질문을 올린 글(A어플에 B어플 추가)에서 처럼

프로젝트를 jar파일을 만들어서 다른 프로젝트에 추가를 하려고 하니 R.를 쓰면 안된다는 댓글이 있어 변경을 하는 중입니다.

(wini님 감사)

jar파일은 소스파일(class)만 넣고 리소스(res 하위 xml, drawable등)들은 jar파일과 함께 다른 프로젝트에 넘겨야 되는데 위와 같은

문제가 나타났습니다.

 

조언 부탁드립니다.


 

profile

give & take