Get all child views inside LinearLayout at once Get all child views inside LinearLayout at once android android

Get all child views inside LinearLayout at once


Use getChildCount() and getChildAt(int index).

Example:

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


((ViewGroup) findViewById(android.R.id.content));// you can use this in an Activity to get your layout root view, then pass it to findAllEdittexts() method below.

Here I am iterating only EdiTexts, if you want all Views you can replace EditText with View.

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);        }    }}


use this

    final int childCount = mainL.getChildCount();    for (int i = 0; i < childCount; i++) {          View element = mainL.getChildAt(i);        // EditText        if (element instanceof EditText) {            EditText editText = (EditText)element;            System.out.println("ELEMENTS EditText getId=>"+editText.getId()+ " getTag=>"+element.getTag()+            " getText=>"+editText.getText());        }        // CheckBox        if (element instanceof CheckBox) {            CheckBox checkBox = (CheckBox)element;            System.out.println("ELEMENTS CheckBox getId=>"+checkBox.getId()+ " getTag=>"+checkBox.getTag()+            " getText=>"+checkBox.getText()+" isChecked=>"+checkBox.isChecked());        }        // DatePicker        if (element instanceof DatePicker) {            DatePicker datePicker = (DatePicker)element;            System.out.println("ELEMENTS DatePicker getId=>"+datePicker.getId()+ " getTag=>"+datePicker.getTag()+            " getDayOfMonth=>"+datePicker.getDayOfMonth());        }        // Spinner        if (element instanceof Spinner) {            Spinner spinner = (Spinner)element;            System.out.println("ELEMENTS Spinner getId=>"+spinner.getId()+ " getTag=>"+spinner.getTag()+            " getSelectedItemId=>"+spinner.getSelectedItemId()+            " getSelectedItemPosition=>"+spinner.getSelectedItemPosition()+            " getTag(key)=>"+spinner.getTag(spinner.getSelectedItemPosition()));        }    }