0

如何使用 for 循环为一系列图像按钮设置相同的图像资源?

ImageButton b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14,
        b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27,
        b28, b29, b30;

public void setresource() {
    for (int i = 0 ; i <= 15; i++){
        b[i].setImageResource(R.drawable.playzz);
    }
}

上面的代码给出错误b[i]

表达式的类型必须是数组类型,但它解析为 int

4

1 回答 1

2

试试下面的。你还没有初始化 ImageButton

   ImageButton b[];    

在你的 onnCreate(param)

  b = new ImageButton[15]; 
  for (int i = 0 ; i <15; i++){
    b[i] = new ImageButton(ActiivtyName.this);
    b[i].setImageResource(R.drawable.playzz);        
}

还要记住将按钮添加到布局的根视图。

例子:

您还可以以编程方式设置布局。您可以使用线性布局或相对布局设置布局参数。将 Imagebuttons 添加到布局并将内容设置为活动。

根据您的要求修改以下内容。

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout 
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/ll"
tools:context=".MainActivity" >
</LinearLayout> 
</ScrollView>

MainActivity.java

public class MainActivity extends Activity {   
ImageButton b[]; 
LinearLayout ll;
protected void onCreate(Bundle savedInstanceState) {   
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ll = (LinearLayout) findViewById(R.id.ll);// initialize linearlayout           
    setresource();
}
public void setresource()
{
       b = new ImageButton[15];
       for (int i = 0 ; i < 15; i++){
        b[i]= new ImageButton(MainActivity.this); // initilize
        b[i].setMaxWidth(40); // set the maxwidth
        b[i].setImageResource(R.drawable.ic_launcher); // set background image
        ll.addView(b[i]); // add the imagebutton to the linearlayout
       }
  }
} 
于 2013-06-08T04:48:02.733 回答