我已经在Android中以编程方式添加了线性布局,并为其添加了ImageView。我使用以下代码进行相同的操作。
LinearLayout layout = (LinearLayout)findViewById(R.id.linear1);
for(int i=0;i<4;i++)
{
imagev = new ImageView(this);
imagev.setLayoutParams(new android.view.ViewGroup.LayoutParams(300,150));
imagev.setMaxHeight(600);
imagev.setMaxWidth(600);
layout.addView(imagev);
}
答案 0 :(得分:1)
您可以这样做:
myClickListener1 = new View.OnClickListener ...
myClickListener2 ...
myClickListener3 ...
myClickListener4 ...
for(int i=0;i<4;i++)
{
imagev = new ImageView(this);
imagev.setLayoutParams(new android.view.ViewGroup.LayoutParams(300,150));
imagev.setMaxHeight(600);
imagev.setMaxWidth(600);
switch(i){
case 0: imagev.setOnClickListener(myClickListener1);
break;
case 1: ...
...
}
layout.addView(imagev);
}
答案 1 :(得分:1)
如果我要实现这个,我会给每个图像视图一个特定的标记,然后为每个图像视图设置相同的onClickListener。然后在onClickListener中,我会检查被点击的imageview的标签,并根据点击的图像视图执行操作。
None
这样可以避免使用4个不同的onClickListener,并为您提供更清晰的代码。