2011-03-11 1 views
0

나는 매우 안드로이드에 익숙하다. 누구나 내가 viewgroup에 대한 핸들을 어떻게 얻을 수 있는지 알려 줄 수 있는가? 예를 들어보기 그룹 인스턴스

:

main.xml 파일에 선형 레이아웃을 가지고있다. 보기를 추가 할 수있는 유일한 방법은 findViewById을 사용하고 선형 레이아웃의 ID를 지정하는 것입니다. 나는 당신이 당신의 자신의 레이아웃 서브 클래스를 만드는 등 onFinishInflate()과 같은 몇 가지 방법을 무시할 수있는 뷰 그룹에 대한 핸들을 얻고 getChildCount() 등과 같은 기능을 수행하는 일반적인 방법 ...

답변

0

을 개발하고자합니다. View documentation에는 그에 대한 정보가 있으며이를 수행하는 방법에 대한 자습서가 많이 있습니다.

이것은 레이아웃의 모든 Checkable보기를 얻으려고 one of my tutorials에서 설명합니다.

@Override 
protected void onFinishInflate() { 
    super.onFinishInflate(); 

    final int childCount = this.getChildCount(); 
    for (int i = 0; i < childCount; ++i) { 
     findCheckableChildren(this.getChildAt(i)); 
    } 
} 

/** 
* Add to our checkable list all the children of the view that implement the 
* interface Checkable 
*/ 
private void findCheckableChildren(View v) { 
    if (v instanceof Checkable) { 
     this.checkableViews.add((Checkable) v); 
    } 

    if (v instanceof ViewGroup) { 
     final ViewGroup vg = (ViewGroup) v; 
     final int childCount = vg.getChildCount(); 
     for (int i = 0; i < childCount; ++i) { 
      findCheckableChildren(vg.getChildAt(i)); 
     } 
    } 
} 
+0

감사합니다. 하지만 모든 EditText 필드를 가져 와서 편안한 리소스에 게시하는 제네릭 클래스를 작성 중입니다. 그래서 내가 다른 응용 프로그램에서 사용할 수있는 제네릭 코드를 개발해야합니다. 난 그 응용 프로그램에 특정 경우 findViewById 메서드를 사용하고 싶지 않아요. – abhirami

+0

Anwser 일부 코드로 편집 –

+0

고마워요! – abhirami