Android,事件监听器?

时间:2011-09-29 13:23:37

标签: android

我有一个遍历图像视图数组的循环,为每个图像视图添加一个事件监听器,如何找出在监听器中按下的图像视图?

imageViewArray[i].setOnClickListener(new View.OnClickListener() {
               public void onClick(View v) {

                   }        
            });

3 个答案:

答案 0 :(得分:1)

v方法的onClick参数是否提供对ImageView的引用?

修改
问题是:您没有向代码中的所有ImageView添加相同的侦听器 - 数组中的每个ImageView都有自己的侦听器。

在聆听者的onClick方法中,引发该事件的View会在v中传递,因此在使用v时,您正在使用所点击的{{} 1}}。

要查找数组中ImageView索引,您也可以按其他人的建议设置ID,然后使用ImageView,或者您可以循环您的数组并检查是否v.getId(),在这种情况下imageViewArray[i] == v是数组中i的索引。

答案 1 :(得分:0)

在索引值上为每个设置id,例如:image_view.setId(i);

答案 2 :(得分:0)

imageView.getId()会在ImageView中为您提供findViewById()的ID 方法。然后,您可以检查交换机块中的ID。希望这会有所帮助。