【发布时间】:2011-11-22 18:27:42
【问题描述】:
我创建了一个 ImageView 对象 (img) 并通过同一对象 (img) 将一些资源传递给带有 for-loop 的线性布局。在循环的每次迭代中,我在 img(img.setOnClickListener()) 上调用 setOnClickListener() 以显示反映循环控制器变量 (i) 值的 Toast。我试过的代码段如下:
for (i = 1; i <= 6; i++)
{
img = new ImageView(this);
img.setImageResource(R.drawable.thambu);
body.addView(img);
this.img.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast.makeText(Details.this, Integer.toString(i) , Toast.LENGTH_LONG).show();
}
});
}
问题是每当我点击生成的图像时,我都会看到一个显示 7 的 Toast。
我知道它为什么显示 7。但我想显示被点击的图像的索引。
(body 是我传递 ImageView 的线性布局的 id)
我如何在 android 上做到这一点。提前致谢。
【问题讨论】:
标签: java android for-loop onclick this