설.현.아빠
문자열을 Resource ID로 사용하는 방법 본문
근데 프로그래밍을 하던 중 불편한 점을 발견했는데, 바로 findViewByString 이라는 함수가 없다는 것이다.
이게 왜 필요할까?
아래의 예를 보자
[code xml]
<TextView android:id="@+id/text0" ...
<TextView android:id="@+id/text1" ...
...
<TextView android:id="@+id/text9" ...
[/code]
[code java]
TextView ttt[]=new TextView[10];
ttt[0]=(TextView)findViewById(R.id.text0);
ttt[1]=(TextView)findViewById(R.id.text1);
ttt[2]=(TextView)findViewById(R.id.text2);
...
ttt[9]=(TextView)findViewById(R.id.text9);
[/code]와 같이 프로그래밍 한다면 TextView가 100개가 되면 저걸 다 적어야 할까?
그럼 배열로 선언해놓은 의미가 없다.
바라건데,
[code java]
TextView ttt[]=new TextView[10];
for(i=0;i++;i<10) ttt[i]=(TextView)findViewByString( "R.id.text"+i );
[/code]
이렇게 간단하게 쓸 수 있으면 얼마나 좋을까.
그런 함수가 있다.
바로, getIdentifier라는 함수이다.
public int getIdentifier (String name, String defType, String defPackage)
이 함수는 Resourse 클래스의 메쏘드이므로 아래와 같이 활용하면 된다.
'안드로이드 > String' 카테고리의 다른 글
android:textAppearance 사용하기 (1) | 2011.02.11 |
---|---|
ClipboardManager 를 이용한 copy & paste (0) | 2011.02.11 |
[autoLink] TextView를 이용하여 자동 링크 생성하기. (0) | 2011.02.11 |
안드로이드에서 문자열을 표현하는 방법 (0) | 2011.02.11 |
[IME] 구현해보기 (0) | 2011.02.11 |