我有一个循环,它遍历一组图像视图,为每个图像视图添加一个事件侦听器,我如何找出哪个图像视图在侦听器中被按下了?
imageViewArray[i].setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
}
});发布于 2011-09-29 21:27:06
在索引值上为每个人设置id,例如: image_view.setId(i);
发布于 2011-09-29 21:27:56
onClick方法的v参数是否提供了对ImageView的引用
编辑
问题是:您不会向代码中的所有ImageView添加相同的侦听器-数组中的每个ImageView都有自己的侦听器。
在侦听器的onClick方法中,引发事件的View在v中传递,因此在使用v时,您使用的是单击的ImageView。
要找到数组中ImageView的索引,您最好按照其他人的建议设置ID,然后使用v.getId(),或者可以遍历数组并检查是否为imageViewArray[i] == v,在这种情况下,i是数组中ImageView的索引。
发布于 2011-09-29 21:28:40
imageView.getId()将返回您在findViewById()方法中为此ImageView提供的ID。然后你就可以在开关模块中检查ID了。希望这能有所帮助。
https://stackoverflow.com/questions/7597968
复制相似问题