LinearLayout 獲取子元素,並分別給子元素賦值實現
阿新 • • 發佈:2018-12-31
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進行賦值了