以编程方式声明ImageView Android

时间:2015-11-30 08:37:47

标签: android

如何在oncreate方法中以编程方式声明一些ImageView?我想要这样的东西:

for (int i =1 ; i<=10;i++){

    ImageView image+i = (ImageView)findViewById(R.id.image+i);

}

我不知道是否有可能是这样的,或者您必须通过imageview将其设为imageview。

2 个答案:

答案 0 :(得分:0)

ImageView[] imageViews = new ImageView[10];
for (int i =1 ; i<= 10; i++){
  int id = getResources().getIdentifier("image"+i, "id", getPackageName());
  imageViews[i - 1] = (ImageView)findViewById(id);
}

getIdentifier将资源的id关联返回到名称,即第一个参数,您可以使用数组来存储视图的引用。

答案 1 :(得分:0)

你可以使用类似这种方法的东西

LinearLayout layout = (LinearLayout)findViewById(R.id.imageLayout);
for(int i=0;i<10;i++)
{
    ImageView image+i = new ImageView(this);
    image+i.setLayoutParams(new android.view.ViewGroup.LayoutParams(80,60));
    image+i.setMaxHeight(20);
    image+i.setMaxWidth(20);

    // Adds the view to the layout
    layout.addView(image);
}

通过this教程和this