举一个简单的解决方案,您应在包含视图的孩子尝试迭代:
考虑到你有你的按钮都布局内是这样的:
android:id="@+id/layout_container_buttons"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button1"/>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button2"/>
然后只是简单的迭代所有的布局儿童:
ViewGroup layout = (ViewGroup)findViewById(R.id.layout_container_buttons);
for (int i = 0; i < layout.getChildCount(); i++) {
View child = layout.getChildAt(i);
if(child instanceof Button)
{
Button button = (Button) child;
button.setText(spliter[i]);
}
}
但是,更好的方法是根据您的数组大小动态创建按钮并将它们添加到LinearLayout inste将它们复制/粘贴到layout.xml文件中。这可以帮助您在每次需要添加/删除某些内容时获得阵列上每个值的确切数量的按钮。
ViewGroup layout = (ViewGroup) findViewById(R.id.layout_container_buttons);
for (int i = 0; i < splitter.length; i++) // iterate over your array
{
// Create the button
Button button = new Button(this);
button.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
button.setText(splitter[i]);
layout.addView(button); // add to layout
}