나는 프로그램 방식으로보기 (회 전자, editbox 및 datepicker)를 만들고 있습니다 (이전과 정확한 숫자 및 유형을 모르는 경우). 제출 버튼을 클릭하면보기의 모든 값을 검색해야합니다. 또한 어떤 값이 어떤보기인지 알 수 있습니다.동적으로 생성 된 뷰의 값을 검색하는 방법은 무엇입니까?
결국 이러한 모든 값을 다른 활동으로 전달해야합니다.
이 기능을 어떻게 수행 할 수 있습니까?
나는 프로그램 방식으로보기 (회 전자, editbox 및 datepicker)를 만들고 있습니다 (이전과 정확한 숫자 및 유형을 모르는 경우). 제출 버튼을 클릭하면보기의 모든 값을 검색해야합니다. 또한 어떤 값이 어떤보기인지 알 수 있습니다.동적으로 생성 된 뷰의 값을 검색하는 방법은 무엇입니까?
결국 이러한 모든 값을 다른 활동으로 전달해야합니다.
이 기능을 어떻게 수행 할 수 있습니까?
당신은의 View
을 이와 같은 종류의 구성원으로 가질 수 있습니다.
각 View
이 생성되면이 목록에 각보기를 추가하십시오. 그런 다음 쉽게 반복하여 값을 얻을 수 있습니다. (그것을 할 수있는 완벽하게 좋은 방법이다 R9j에 의해 제안) 당신이 그것을 사용하여 활동의 루트보기를 얻을 수도 있습니다 행해져 Yout 경관을 감상 할 수있는 목록을 원하지 않는 경우
클릭 핸들러는 클릭 한 뷰에 대한 참조를 전달합니다. 그 값을 얻기 위해 전화하십시오.
정말로 모든 작업을 수행하고 모든 값을 확인해야하는 경우 데이터 구조 (해시, 목록 등)에 모두 저장해야합니다. 해당 데이터 구조의 일부분을 추적해야합니다. 그러나 실제로 액세스해야하는시기와 이유, 그리고 그 용도에 대해 알지 못하면 더 자세한 솔루션을 제안 할 수 없습니다.
View rootLayout= ((ViewGroup)findViewById(android.R.id.content)).getChildAt(0)
당신은 내가 텍스트 뷰를 검사하지만, 다른 유형의 ID를 제공함으로써 가능 aswell 것이 경우 아이보기 목록
for(int i=0; i<rootLayout.getChildCount(); i++)
{
View child = rootLayout.getChildAt(i);
if(child instanceof TextView)
{
int id= child.getId();
if(id>500) //whatever check makes sense to you given the way you use ids
{
String content = ((TextView) child).getEditableText().toString();
}
}
}
을 통과 할 수 있도록 추가이보기에서
모든보기가 될 것입니다 뷰를 생성 할 때 어떤 뷰가 무엇을 가져야하는지 알 수 있습니다. 정보. You may also use tags for that.
이름을 무시하면보기 ID가 고유하지 않아도됩니다.
코드를 표시 할 수 있습니까? – Raptor