My GestureListener類在onSingleTap()或onFling()方法中接收MotionEvent。有沒有辦法確定此事件的基本視圖?如何從MotionEvent獲取底層視圖?
背景:我有一個包含許多子視圖的LinearLayout。這個LinearLayout上有一個觸摸監聽器,它調用一個手勢檢測器。所以當用戶在任何子視圖上做手勢時,LinearLayout的手勢檢測器會接收一個MotionEvent。但問題是,因爲有很多孩子,我需要確切地知道用戶點擊了哪個孩子。但我找不到將座標轉換爲視圖的方法。有沒有辦法做到這一點?
醜陋的解決方案:孩子們是動態添加的。所以我可以將所有的孩子都放在一個列表中,然後當一個MotionEvent出現時,我可以遍歷列表並查看點是否在孩子的內部。但我不喜歡這個想法。有沒有更好的辦法?
感謝您的回覆。但是我正在尋找一種方式來獲得從coordiante視圖。實際上,你提到的方式,對於我提到的「醜陋解決方案」 - 我在其中保存了所有孩子ID的列表,然後查詢其中的所有孩子ID,看看是否有座標落在其中。 – wwyt 2011-05-23 03:57:28