2013-06-22 72 views
0

我有10個活動要檢測手勢。所以我創建了一個實現OnGestureListener的類。此課程還爲onTouchEvent()延伸GestureDetector。爲了將所有活動連接到這個類,我實例化這個手勢監聽器類。我面臨的問題是我無法通過上下文(通過其他活動到這個類)和this超類。這裏是代碼:將活動連接到GestureListener

public class GestureReader extends GestureDetector implements OnGestureListener{ 

     public GestureReader(Context con) 
    { 
    super(con,this); // error here 

    contxt= con; 
    gestures = new GestureDetector(con,this); 
    } 

    @Override 
public boolean onTouchEvent(MotionEvent me) { 
    return gestures.onTouchEvent(me); 
} 

    ..... 
} 

問候

回答

1

也許更清潔的解決辦法是,以實例爲每個活動新GestureDetector/GestureReader

根據文檔的GestureDetector也很樂意與Application的情況下,所以你可以從你的活動之一檢索Application給它喂到探測器,處理手勢和所有

+0

我試過的另一種方法是,我沒有在上面提到的類中擴展GestureDetector,並且創建了另一個擴展了GestureDetector的類,我在該類中覆蓋了OnTouchEvent()。我正在實例化那個正在擴展GestureDetector的類,但是在其他活動中,但它看起來像onTouchEvent沒有聽手勢。 – user2498079

+0

@ user2498079也許我明白你錯了,但它通常是沒有必要的,你推翻它覆蓋'的onTouchEvent()''中的GestureDetector'但它從'的onTouchEvent(呼叫)''一個的View'。檢測器然後處理事件並依次調用'OnGestureListener' –

0

您可以創建基地活動您的10個活動擴展了這個基本活動