반응형
뷰의 요소를 반복하는 방법
라디오, 입력 및 버튼이있는보기가 있고이를 클릭하면 모든 입력에 정보가 포함되어 있는지 확인하고 싶습니다. 액티비티에서 뷰의 요소를 반복하고 모든 텍스트 뷰가 앞서 언급 한 요구 사항을 충족하는지 확인하려면 어떻게해야합니까? 감사.
현재 나와 있지 않은 일부 코드에서 비슷한 작업을 수행했지만 메모리에서 다음과 같이해야합니다 (ID가 "layout"인 LinearLayout 부모보기를 가정).
LinearLayout layout = (LinearLayout)findViewById(R.id.layout);
boolean success = formIsValid(layout);
public boolean formIsValid(LinearLayout layout) {
for (int i = 0; i < layout.getChildCount(); i++) {
View v = layout.getChildAt(i);
if (v instanceof EditText) {
//validate your EditText here
} else if (v instanceof RadioButton) {
//validate RadioButton
} //etc. If it fails anywhere, just return false.
}
return true;
}
kcoppock으로 메소드를 재귀 적으로 적용하려면 다음과 같이 변경할 수 있습니다.
private void loopViews(ViewGroup view) {
for (int i = 0; i < view.getChildCount(); i++) {
View v = view.getChildAt(i);
if (v instanceof EditText) {
// Do something
} else if (v instanceof ViewGroup) {
this.loopViews((ViewGroup) v);
}
}
}
당신 onClickListener
은 View v
물건을 공급 합니다. View rV = v.getRootView()
양식에 자신을 배치 하는 데 사용 합니다. 그런 다음 사용 rV.findViewWithTag( ... )
또는 rV.findViewByID(R.id. ... )
양식 요소를 찾습니다.
참고 URL : https://stackoverflow.com/questions/4809834/how-to-iterate-through-a-views-elements
반응형
'Development Tip' 카테고리의 다른 글
PowerShell 스크립트의 파일 시스템 위치를 어떻게 얻을 수 있습니까? (0) | 2020.12.03 |
---|---|
'드롭 다운 상태'와 '닫힌 상태'의 레이아웃이 다른 Android Spinner? (0) | 2020.12.03 |
Vim : ctag 설정이 어렵습니다. (0) | 2020.12.03 |
null android를 반환하는 카메라 활동 (0) | 2020.12.03 |
간단한 PostgreSQL 삽입이 작동하지 않습니다. (0) | 2020.12.03 |