2011-12-16 20 views

回答

2

當觸摸屏幕時,MotionEvent被分派到最頂層View(Activity的內容視圖)。然後,內容視圖會對區域進行一些計算,並確定它是否具有能夠接收MotionEvent的子項,並通過onTouchEvent(MotionEvent)將MotionEvent傳遞到MotionEvent所屬的視圖。這會在View視圖中重複出現,直到視圖返回true,或者MotionEvent返回到頂層視圖,此時它決定處理或放棄它。 參考:

View#onTouchEvent(MotionEvent)

ViewGroup#onInterceptTouchEvent(MotionEvent)

+0

我希望有什麼方法(視圖,事件)得到執行即時通訊試圖找到一個地方,以攔截事件和視圖正在delieverd ...即時通訊不談論聽衆 – 2011-12-16 01:28:12

0

它採用觀察/監聽器模式。您實現特定的界面,然後註冊Android平臺。這就是Android平臺如何知道要調用哪個類和哪種方法。

由於我們使用接口作爲媒介,因此Android平臺知道調用哪些方法。該類是您提供的內容,可以通過創建匿名內部類或完整的類來提供。

例子:

button.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // You code 
     } 
    }); 

現在,這裏Android將會調用View.OnClickListener接口方法和要傳遞類的實際實例作爲參數。

相關問題