Get all child views inside LinearLayout at once

前端 未结 6 2182
野性不改
野性不改 2020-11-28 04:39

I have a LinearLayout, which contains several child TextViews. How can I get child views of that LinerLayout using a loop?

6条回答
  •  醉话见心
    2020-11-28 05:28

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

提交回复
热议问题