마스터Q&A
접속유지
가입하기
안드로이드 Q&A
최근 질문
미답변 질문
태그
사용자
질문하기
마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다.
안드로이드펍
에서 운영하고 있습니다. [
사용법
,
운영진
]
인기있는 태그
초보어플개발
(3427)
안드로이드스튜디오
(2664)
안드로이드-초보어플개발
(1333)
안드로이드-스튜디오
(1086)
도와주세요-
(995)
이미지
(970)
listview
(866)
리스트뷰
(844)
오류
(805)
레이아웃
(693)
fragment
(675)
webview
(670)
안드로이드 액티비티 내 뷰 개수
0
추천
1. 한 액티비티 안에 있는 위젯들의 전체 개수를 알수 있는 방법이 있나요?
2. 액티비티 안에 있는 전체 뷰들을 반복문으로 액세스 할수 있나요?
안드로이드
액티비티
범버러범범
(
180
포인트)
님이
2016년 9월 5일
질문
먼저 관련 API문서를 잘 살펴보시기 바랍니다.
https://developer.android.com/reference/android/view/View.html
https://developer.android.com/reference/android/view/ViewGroup.html
ViewGroup은 child view를 가질 수 있기 때문에 getChildCount를 통해 child view의 갯수를 셀 수 있습니다.
다른 구현방법이 존재하겠지만 직관적으로 떠오르는 방법은 최상위 View를 읽으신 다음 재귀호출을 통해 view가 ViewGroup이면 차일드 뷰들을 읽어오는 형태로 구현하시면 될 것 같습니다.
View rootView = findViewById(root_view_id);
visitView(rootView);
private void visitView(View view) {
if (view instanceof ViewGroup){
ViewGroup group = (ViewGroup) view;
for (int i=0; i<group.getChildCount(); i++) {
View childView = group.getChildAt(int index);
visitView(childView);
}
} else {
}
}
급하게 만든 로직이라 정확한지는 모르겠지만 비슷한 컨셉으로 하시면 되리라 생각합니다. 모발일에서는 가능하면 loop을 덜 사용하는 것이 배터리 소모도 적습니다. 더 좋은 방법이 있는지 한번 찾아보세요.
Please
log in
or
register
to add a comment.
답변 달기
·
글에 소스 코드 보기 좋게 넣는 법
·
질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
답변이 채택되거나 답변에 댓글이 달리면 이메일로 알려드립니다:
답변이 채택되거나 댓글이 달리면 이메일로 알려드립니다
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면
로그인
하거나 혹은
가입
하세요.
...