2010-01-11 65 views
4

爲什麼ListView中的View的OnClickListener不響應視圖上的軌跡球點擊,而ListView的OnItemClickListener確實會響應某個ListView視圖上的軌跡球點擊?Android ListView OnItemClickListner VS.查看OnClickListener

+0

對於列表項以外的ListView click事件偵聽器,您的用例是什麼? – 2010-01-12 22:12:14

+2

我想我得到了這個問題 - 只要我有一個OnItemClickListener,而不是每個視圖的OnClickListener,而不是OnItemClickListener對觸摸和軌跡球事件的響應。 謝謝。 – WhiteTigerK 2010-01-13 12:14:24

+1

理論上,如果您想「分離」邏輯,也可以使用OnItemClickListener調用OnClickListener。這樣你就可以在一種方法中保持「項目點擊」邏輯,在另一種方法中保持「一般點擊」。這並不完美,但它基本上就像覆蓋方法並使用超級通話一樣。 P.S.-當我發佈時,肯定沒有看這個東西的日期。抱歉! – 2010-12-07 15:31:03

回答

0

這是設計。

ListView組件專門用於以這種方式觸發這些事件。我相信它們實際上是在抽象類AdapterView中定義的。其他AdapterView後代(Gallery,Spinner等)也將表現相同的方式。還有一個ONItemLongClick

View.OnClick僅被具有簡單語義的控件使用,例如, Button哪裏只有一種「種類」的點擊。

相關問題