2

我有很多 imageview 。假设我有 50 个 ImageViews 。这些将在一个屏幕上。水平和垂直滚动将可用。

for(int j = 0; j < numCol; j++)
{
    imageView[i*5+j] = new  ImageView(this);
    imageView[i*5+j].setImageResource(R.drawable.icon);
    imageView[i*5+j].setMaxHeight(80);
    imageView[i*5+j].setMinimumHeight(80);
    imageView[i*5+j].setMaxWidth(90);
    imageView[i*5+j].setMinimumWidth(90);
    tblRow.addView(imageView[i*5+j],j); 
    imageView[i*5+j].setOnClickListener(this);

 }

假设用户将点击 imageview[25] 。有没有什么直接的方法可以捕捉到 imageview[25] 被点击了?否则我将不得不遍历所有 imageview 。

4

2 回答 2

1
imageView[i*5+j].setOnClickListener( new OnClickListener() {
   @Override
   public void onClick(View v) {
       someMethod((ImageView) v);
   }
});

private someMethod(ImageView currentView) {

}
于 2013-03-05T07:02:58.103 回答
0

您可以使用

imageView[i*5+j].setTag(new Integer(j));

然后在 OnClockListener

public void onClick(View v) {
    Integer i = (Integer)v.getTag();
}
于 2013-03-05T07:06:03.373 回答