동적으로 생성한 view들을 조작하고 싶은데, 해당 view들에는 id가 할당되어 있지 않아 난감한 적이 있었다. 그 때 찾은 방법이 있는데 자세한 코드와 내용은 링크를 참고하자.


LinearLayout ll = 
final int childCount = ll.getChildCount();
for (int i = 0; i < childCount; i++) {
      View v = ll.getChildAt(i);
      // Do something with v.
      // …
}



SparseArray<Edittext> array = new SparseArray<Edittext>();

private void findAllEdittexts(ViewGroup viewGroup) {

    int count = viewGroup.getChildCount();
    for (int i = 0; i < count; i++) {
        View view = viewGroup.getChildAt(i);
        if (view instanceof ViewGroup)
            findAllEdittexts((ViewGroup) view);
        else if (view instanceof Edittext) {
            Edittext edittext = (Edittext) view;
            array.put(edittext.getId(), edittext);
        }
    }

}



참고


android - Get all child views inside LinearLayout at once - Stack Overflow

블로그 이미지

NCookie

,