2012-07-12 72 views
6

我調用這個函數在我的活動:的Android dispatchTouchEvent得到挖掘視圖

@Override 
public boolean dispatchTouchEvent(MotionEvent touchEvent) 

,讓我來處理行動之前,任何部件得到關注,甚至否定聚焦於這些元件。

問題:我想知道如何知道在這個功能中觸摸了什麼組件(視圖),然後我可以選擇是否要完成該事件。

醜陋的解決方案:我目前有一個醜陋的解決方案是:我知道被允許獲得該事件的組件的位置,我做了很多的條件大致確定,如果用戶點擊這個組件。

謝謝。

回答

0

你可能想使用OnTouchListener

private OnTouchListener mOnTouchListener= new OnTouchListener() { 

    public boolean onTouch(View v, MotionEvent event) { 

      switch(v.getId()){ 

       case R.id.id1): 
       // Do stuff 
       break; 

       case R.id.id2: 
       // Do stuff 
       break; 
       }  

     return false/true; 
    } 
}; 
+0

將是一個好的解決方案不幸的是,由於某些原因(代碼錯誤,結構不好,...),當我將此函數放在根元素上,並將其後代焦點設置爲後代時,它不在此函數中。總之,我無法完成工作,但我不會使用我的3000代碼行發送垃圾郵件。我只是在尋找其他解決方案。 – 2012-07-13 00:44:31

0

view.getid == R.id .// ID佈局//條件可以爲所需要的視圖來檢查被點擊