У меня возникла проблема с тем, что мой метод
@Override
public boolean onTouchEvent(MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
называется более новым. Есть идеи, почему так? Я создаю приложение google api 4.0.3, и я trzing, чтобы включить swipes для моего viewFliper. Однако он не может работать, если на сенсорном носителе называется более новое.
btw:
public class MainActivity extends SherlockMapActivity implements ActionBar.TabListener {
Это объявление моей деятельности. и для обнаружения swipes я реализовал это:
SimpleOnGestureListener simpleOnGestureListener = new SimpleOnGestureListener(){
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) {
float sensitvity = 50;
if((e1.getX() - e2.getX()) > sensitvity){
SwipeLeft();
}else if((e2.getX() - e1.getX()) > sensitvity){
SwipeRight();
}
return true;
}
};
GestureDetector gestureDetector= new GestureDetector(simpleOnGestureListener);
Спасибо u!
изменить:
main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<ViewFlipper
android:id="@+id/ViewFlipper"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ffffff" >
<include
android:layout_height="match_parent"
layout="@layout/mymain" />
<include layout="@layout/secondmain" />
<include layout="@layout/thirdmain" />
<include layout="@layout/fourthmain" />
</ViewFlipper>
</LinearLayout>
edit2: все мои включенные макеты имеют внедренное scrollview, возможно, что прокрутка принимает эти события и обрабатывает их. И как определить жесты, если так?