2011-12-27 80 views
0

我有一個複選框,其中包含該按鈕的自定義圖像。我使用點擊代理來執行按鈕被點擊時的動作:MonoDroid單擊委託並輕掃檢測

box.Click += { //do some stuff... } 

這很好用。

但是,現在我已經被要求在這個複選框中添加滑動檢測(聽起來很瘋狂,但它確實對這個應用程序有意義)。

我添加了使用標準方法的刷卡檢測,我習慣於使用Java中的普通Android:我分類了GestureDetector.SimpleOnGestureListener並實現了View.IOnTouchListener。

我加入了刷卡檢測到的複選框,如下所示:

/* 
SwipeListener implements View.IOnTouchListener 
SwipeDetector is a subclass of GestureDetector.SimpleOnGestureListener 
*/ 

SwipeListener listener = new SwipeListener(new GestureDetector(new SwipeDetector(this))); 
box.SetOnTouchListener(listener); 

當我這樣做時,刷卡的偉大工程。但點擊委託不再被激活。我嘗試將我的代碼移動到我的SwipeDetector類,這似乎工作。

但後來我注意到我的複選框不再處於選中狀態或未選中狀態,因此我的自定義圖像永遠不會改變。

我知道這應該是簡單的東西,但我沒有看到它......在Android/MonoDroid的視圖(複選框)上點擊和滑動的正確方法是什麼?

回答

0

我的猜測沒有看到你的代碼是你從OnTouch返回true,這意味着你已經消耗了事件,並且不希望使用事件進行任何進一步的處理。如果你想讓事件的其餘部分觸發,請嘗試返回false。

http://developer.android.com/reference/android/view/View.OnTouchListener.html

+0

我敢肯定,我已經試過了,但我不記得...我會看它今天讓你知道,如果改變什麼 – Justin 2012-01-04 13:35:07