我可以添加数组到Android按钮吗?

时间:2012-01-06 20:04:47

标签: java android button

我的按钮是:

  <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)需要更改。可能吗?感谢

2 个答案:

答案 0 :(得分:1)

使用tag属性为它们提供0,1,2等的顺序标记,然后在循环中为findViewWithTag()构建数组。请注意,tag是一个字符串,它不是数字。

答案 1 :(得分:0)

这样你就不会在布局中添加那些按钮了。

1)你不能给那些按钮(或一般的容器/元素)提供相同的ID。 id是唯一标识符,因此它必须是唯一的 2)findViewById将搜索布局三,以找到具有该id的元素。如果该元素不存在(您没有将它们添加到布局中),则会因nullpointerexception而失败。

您需要做的是从Java代码创建按钮并将它们添加到容器中(例如LinearLayout)。

因此,您执行findViewById并查找容器,然后将View(按钮)添加到该容器中。

您需要代码示例吗?