如何在oncreate方法中以编程方式声明一些ImageView?我想要这样的东西:
for (int i =1 ; i<=10;i++){
ImageView image+i = (ImageView)findViewById(R.id.image+i);
}
我不知道是否有可能是这样的,或者您必须通过imageview将其设为imageview。
答案 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);
}