출처: http://oic.tstore.co.kr/front/community/mentoring/viewMentoring.action?seq=128
[내용]
[전제조건]
Button이 10개 배치 되어 있는 경우 (예를 들면 다이얼 패드 등과 같이)
[방법]
[방법]
1. xml에서 Button의 이름 끝에 번호값 형태로 부여 한다.
1번 버튼: android:id="@+id/button_0"
2번 버튼: android:id="@+id/button_1"
0 ~ 9를 부여해서 10개의 버튼을 만든다..
2. 코드상에서 해당 버튼의 인스턴스는 다음과 같이 구한다.
1번 버튼: android:id="@+id/button_0"
2번 버튼: android:id="@+id/button_1"
0 ~ 9를 부여해서 10개의 버튼을 만든다..
2. 코드상에서 해당 버튼의 인스턴스는 다음과 같이 구한다.
Button[] mButton = new Button[10]; int nResId = 0; Resources oRes = getResources(); String strPkgName = getPackageName(); for (int i=0; i<10; i++) { nResId = oRes.getIdentifier("button_" + i, "id", strPkgName); mButton[i] = (Button)findViewById(nResId); } |
[기타]
getIdentifier() 메소드는 R 클래스에 있는 것을 가져 올 수 있기 때문에
ID 뿐만 아니라, drawable, string 도 유사하게 처리 할 수 있습니다.
응용이 가능합니다.
'IT_Programming > Android_Java' 카테고리의 다른 글
[펌] AndroidManifest 에 있는 Debuggable 항목 값 읽어오기 (0) | 2012.10.05 |
---|---|
[펌] 동일 Task로 앱 실행하기 (0) | 2012.10.05 |
[펌] 잠자는 앱을 깨우자. (FLAG_INCLUDE_STOPPED_PACKAGES) (0) | 2012.10.05 |
[펌] ViewPager에 적용되는 Fragment View 재사용하기 (ViewHolder 적용) (0) | 2012.10.05 |
[펌] Contentprovider 사용시 주의 사항 및 Thread safety (0) | 2012.10.05 |