아시다시피 안드로이드에서의 리소스 관리는 R.java 파일에서 이루어지고 있다.

개발자가 매번 추가하지 않아도, int 정수자료형으로 재생성 되고 있다.

그렇타면...
xml내의 수많은 view들의 리소스 아이디를 찾기 위해서

for문 내에

for( int i =0; i<99; i++){
findViewById(R.id.+"textview"+i);
}

이런식으로 선언하면 로직은 에러가 안나지만... 리소스를 찾지를 못한다.

그래서 안드로이드 리소스 함수중에 getIdentifier를 이용하면 비슷한 형태로 적용할 수 있다.

getIdentifier()함수 내에 인자로 아래 3개의
리소스 아이디(문자열), id/drawable 정의타입, 패키지명 을 넘기면 된다.

for(int i = 0; i< 99; i++){

 int resId = getResources().getIdentifier("textview"+i, "id", "com..");
...
}

버튼에 이벤트를 적용하려고 할때 리스너를 거는 방법 또한 동일하게 적용하면 된다.

 

출처 :  http://stbaeya.com/tc/352

 

Posted by 모과이IT
,