我的按钮是:
<Button
android:text=""
android:id="@+id/b1"
android:gravity="center_horizontal"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/the_border"
android:textSize="75sp"/>
我有很多(b0,b1,b2)......
我的java:
for(int index = 0; index < 9; index++)
{
places[index] = (Button) findViewById(R.id.b + index);
places[index].setOnClickListener(this);
}
我怎么能这样做? findViewById(R.id.b + index)
需要更改。可能吗?感谢
答案 0 :(得分:1)
使用tag
属性为它们提供0,1,2等的顺序标记,然后在循环中为findViewWithTag()
构建数组。请注意,tag是一个字符串,它不是数字。
答案 1 :(得分:0)
这样你就不会在布局中添加那些按钮了。
1)你不能给那些按钮(或一般的容器/元素)提供相同的ID。 id是唯一标识符,因此它必须是唯一的 2)findViewById将搜索布局三,以找到具有该id的元素。如果该元素不存在(您没有将它们添加到布局中),则会因nullpointerexception而失败。
您需要做的是从Java代码创建按钮并将它们添加到容器中(例如LinearLayout)。
因此,您执行findViewById并查找容器,然后将View(按钮)添加到该容器中。
您需要代码示例吗?