2011-09-29 237 views
1

我有一個循環,通過一個圖像視圖數組運行,爲每個添加一個事件監聽器,我怎麼才能找出哪個圖像視圖在監聽器內被按下?Android,事件監聽器?

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

        }   
      }); 

回答

0

爲每個索引值設置id,例如:image_view.setId(i);

+0

我該如何在事件監聽器中獲取id? – beans

+0

你可以做到這一點v.getId(); – Thiru

1

參照onClick方法的v參數是否提供對ImageView的引用?

編輯
的事情是:你是不是在你的代碼添加相同的監聽到所有ImageView S的 - 你的陣列中的每個ImageView都有自己的監聽器。

在聽者的onClick方法,引發該事件被傳在v,所以用v工作,當你使用點擊ImageView工作View

要找到指數陣列中的ImageView的,你不妨設定ID被別人的建議,然後用v.getId(),或者你可以遍歷陣列,並且檢查是否imageViewArray[i] == v,在這種情況下i是數組中的ImageView的索引。

0

imageView.getId()將返回給您此ID給您ImageViewfindViewById() 方法。然後你可以在開關塊中檢查ID。希望這可以幫助。