LinearLayout 获取子元素,并分别给子元素赋值实现

xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:a_zhon="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent"
    >
       
       <!--写了五个子类-->
       <LinearLayout
           android:background="#fbf0dc"
           android:id="@+id/ly_this_no"
           android:layout_marginTop="5dp"
           android:layout_marginStart="10dp"
           android:layout_marginEnd="10dp"
           android:orientation="horizontal"
           android:gravity="center"
           android:layout_width="match_parent"
           android:layout_height="wrap_content">
           <TextView
               android:textColor="@android:color/white"
               android:gravity="center"
               android:background="@drawable/shape_round_blue"
               android:textSize="16sp"
               android:layout_marginStart="5dp"
               android:layout_marginTop="10dp"
               android:layout_marginBottom="10dp"
               android:layout_width="@dimen/y17"
               android:layout_height="25dp" />
           <TextView
               android:textColor="@android:color/white"
               android:gravity="center"
               android:background="@drawable/shape_round_blue"
               android:textSize="16sp"
               android:layout_marginStart="@dimen/x10"
               android:layout_marginTop="10dp"
               android:layout_marginBottom="10dp"
               android:layout_width="@dimen/y17"
               android:layout_height="25dp" />
           <TextView
               android:textColor="@android:color/white"
               android:gravity="center"
               android:background="@drawable/shape_round_blue"
               android:textSize="16sp"
               android:layout_marginStart="@dimen/x10"
               android:layout_marginTop="10dp"
               android:layout_marginBottom="10dp"
               android:layout_width="@dimen/y17"
               android:layout_height="25dp" />
           <TextView
               android:textColor="@android:color/white"
               android:gravity="center"
               android:background="@drawable/shape_round_blue"
               android:textSize="16sp"
               android:layout_marginStart="@dimen/x10"
               android:layout_marginTop="10dp"
               android:layout_marginBottom="10dp"
               android:layout_width="@dimen/y17"
               android:layout_height="25dp" />
           <TextView
               android:textColor="@android:color/white"
               android:gravity="center"
               android:background="@drawable/shape_round_blue"
               android:textSize="16sp"
               android:layout_marginStart="@dimen/x10"
               android:layout_marginTop="10dp"
               android:layout_marginBottom="10dp"
               android:layout_width="@dimen/y17"
               android:layout_height="@dimen/y17" />
       </LinearLayout>
     

</LinearLayout>

Activity.java 中的实现

LinearLayout  thisNoLayout = findViewById(R.id.ly_this_no);
//因为父控件中写的是五个TextView,所有这里的getChildCount也是五个
String resultArray=new  String[]{"a","b","c","d","e"};
 for (int i = 0; i < thisNoLayout.getChildCount(); i++) {
                    TextView textView = (TextView) thisNoLayout.getChildAt(i);
                    String value = resultArray[i];
                    textView.setText(value);
                }

通过上诉方式,就可以完成对LinearLayout   里面所有没有标明id的TextView进行赋值了

猜你喜欢

转载自blog.csdn.net/wolfking0608/article/details/83508466