안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요. 저번에 질문 올려서 회색님께서 다음을 참고하라고 하셧는데요.
http://www.androidpub.com/42875
이 곳에서는 그림 리소스하나하나에 접근해서 그림 객체의 배열에다 넣는 걸로 보입니다.
특정 레이아웃에 있는 TextView 40개를 가져오려고 하면 어떻게 해야하나요?
for(int i=0;i<40;i++){
TextView tv_i = (TextView) findViewById(R.id.textview_i);
}
이런식으로 해서 일일이 가져오는게 아니라 저런식으로 가져오고 싶은데요.
그림과 달리 레이아웃에 안에 TextView 객체에도 getIdentifier 를 사용할 수 있는지요?
배열에 getIdentifier를 이용하여 아이디를 가져온다고 하여도,
적어도 한번은 TextView tv_i = (TextView) textID[i]; 이런식으로 할당을 해줘야하지 않나요?
그렇게 되면 40개를 생성하려면 40번을 저렇게 일일이 설정해줘야하는건 아닌지 여쭤봅니다.
TextView temp=null;
for(int i=0; i<layout객체.getChildCount(); i++)
{
try
{
temp = (TextView) layout객체.getChildAt(i);
mTextView[j]=temp;
j++;
}
catch(Exception e){}
}
레이아웃에 있는 모든 object를 하나씩 꺼내와서 TextView로 변환 합니다.
ClassCastException이 발생하지 않는다면 그 객체는 TextView이므로 배열에 할당하여 주고
Exception이 발생하면 그냥 다음 자식객체로 넘어갑니다.