2011-05-16 48 views
0

我有兩個視圖(從ImageView的另一個派生自SurfaceView的),每個視圖封裝在一個框架佈局中,並且每個視圖實現一個ontouchlistener,它被設置爲視圖本身的ontouchlistener。這兩個視圖(佈局)在屏幕上沒有交集。ontouchlistener的範圍

但是,我無法讓這兩個聽衆一起工作。例如,如果在視圖A(監聽者A)上存在ACTION_DOWN,則監聽者B不會作出反應(即使後面的動作在視圖B上也不派發給事件B的事件),只有監聽者A作出反應,直到沒有觸摸事件。

也就是說,即使監聽器A只被設置爲視圖A的ontouchlistener,它將處理整個屏幕上的每個事件,並且其他監聽器被禁止。

這對我來說很陌生,任何解釋? 屏幕上可以同時存在兩個ontouchlisteners嗎?

+0

我真的不知道我得到的問題,但是,一個ACTION_DOWN後,下列事件(如ACTION_MOVE),直到ACTION_UP或ACTION_CANCEL直接轉發到這一觀點,而這僅僅是如何Android的作品。見[這裏](http://stackoverflow.com/questions/5654311/how-do-i-keep-a-touch-event-keep-its-focus-on-the-widget-it-was-started-in/5654672#5654672) – bigstones 2011-05-16 13:49:31

+0

@bigstones:非常有幫助。但是這個功能對我來說有點讓人討厭... – Neo 2011-05-16 14:32:28

回答

0

當然,他們可以像兩個按鈕一樣擁有自己的聽衆。嘗試設置您的意見聽衆:

frameLayout.setOnClickListener(); 
imageView.setOnClickListener(); 

這樣,他們應該只對事件來自己的聽衆作出反應。希望這可以幫助。

+0

我試過這個,但是不適合我,謝謝〜 – Neo 2011-05-21 12:39:25