2010-08-13 15 views
0

我正在玩一個我寫的主要活動是TabActivity的應用程序。我正在考慮允許用戶在標籤之間進行瀏覽,但是我發現我只能在四個標籤中的一個上檢測標籤。一扔就不能使用TabActivity

公共類WSGesture擴展TabActivity實現OnGestureListener {

私人GestureDetector gestureScanner;

@覆蓋的onCreate(捆綁savedInstanceState) {

gestureScanner =新GestureDetector(本);
...
}




@Override
公共布爾onFling(MotionEvent E1,E2 MotionEvent,浮velocityX,
浮子velocityY){
Log.v(TAG, 「onFling叫,velX:」 + velocityX + 「velY:」 + velocityY );

return true; 

}

公共布爾的onTouchEvent(MotionEvent我) {
回報gestureScanner.onTouchEvent(我);

}

當我執行此代碼,我只看到,當一個特定標籤被設置爲在當前標籤onFling被調用。對於其他三個人,我什麼也得不到。如果這很重要,它總是四分之三。這爲我在過去的工作

+0

什麼是4個選項卡?它以不同的方式工作?其他3個ListView和它的工作原理是不是? – matto1990 2010-08-13 22:47:12

+0

優秀的問題 - 沒有想過檢查。但是,它們都是ScrollViews,兩個包裝LinearLayouts,兩個包裝TableLayouts(其中一個是工作區)。我沒有看到兩個TableLayouts之間有什麼有趣的區別。 – Brian 2010-08-13 23:53:17

+0

你有沒有想過這個?我今晚會看看,看看我能找到什麼,但如果你碰巧已經解決了它,我將不勝感激:) – 2010-09-14 22:08:03

回答

0

有一件事是實現onDown(),並返回true ...

做這件事時,雖然,要小心......我發現,這樣做時行爲是不同的在Android的1.x和2.x版本之間使用onGestureListener來處理其他事情,比如單擊...所以請確保在進行此類更改時徹底測試您的應用程序。

如果你只是使用onFling,那麼你應該「沒問題......但測試它只是爲了安全。