2013-07-27 2 views
2

Когда я использую следующий код, он дает мне ошибку «Метод onTouch (событие движения) не определен для объекта типа». Ошибка находится в строке «return super.onTouch (event); " У меня нет ни малейшего представления о том, что это is.my app о обнаружении жестов в веб-просмотре. жесты обнаруживаются красиво, но он отключает встроенные жесты веб-просмотра, поэтому я добавил этот фрагмент кода, чтобы можно было обнаружить встроенные жесты.Жесты Android не работают должным образом

webView.setOnTouchListener(new View.OnTouchListener() { 

@Override 
    public boolean onTouch(View v, MotionEvent event) { 
       if (gestureDetector.onTouchEvent(event)) { 
        return true; 
       } 
       return super.onTouch(event); 
      } 
     });} 

если хочет весь код ... вот это

package i.rock.fb; 

import android.os.Bundle; 
import android.app.Activity; 

import android.view.GestureDetector; 
import android.view.GestureDetector.SimpleOnGestureListener; 
import android.view.MenuInflater; 
import android.view.MotionEvent; 
import android.view.View; 
import android.webkit.WebView; 


public class MainActivity extends Activity { 

    @Override 
    public boolean onCreateOptionsMenu(android.view.Menu menu) { 

     super.onCreateOptionsMenu(menu); 
     MenuInflater blowup=getMenuInflater(); 
     blowup.inflate(R.menu.main, menu); 
     return true; 
    } 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     WebView webView=(WebView)findViewById(R.id.webView); 
    webView.setWebViewClient(new our()); 
    webView.getSettings().setBuiltInZoomControls(true); 
    webView.getSettings().setJavaScriptEnabled(true); 

    webView.loadUrl("file:///android_asset/www/index.html"); 




    @SuppressWarnings("deprecation") 
    final GestureDetector gestureDetector = new GestureDetector(new GestureListener()); 

webView.setOnTouchListener(new View.OnTouchListener() { 

    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
       if (gestureDetector.onTouchEvent(event)) { 
        return true; 
       } 
       return super.onTouch(event); 
      } 
     });} 
    final class GestureListener extends SimpleOnGestureListener { 

      private static final int SWIPE_THRESHOLD = 100; 
      private static final int SWIPE_VELOCITY_THRESHOLD = 100; 

      @Override 
      public boolean onDown(MotionEvent e) { 
       return true; 
      } 

      @Override 
      public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { 
       boolean result = false;WebView webView=(WebView)findViewById(R.id.webView); 
       try { 
        float diffY = e2.getY() - e1.getY(); 
        float diffX = e2.getX() - e1.getX(); 
        if (Math.abs(diffX) > Math.abs(diffY)) { 
         if (Math.abs(diffX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) { 
          if (diffX > 0) { 

           onSwipeRight(); 
          } else { 

           onSwipeLeft(); 
          } 
         } 
        } 

       } catch (Exception exception) { 
        exception.printStackTrace(); 
       } 
       return result; 

     } 

    } 




    public void onSwipeRight() {WebView webView=(WebView)findViewById(R.id.webView); 
     webView.loadUrl("http://www.google.com"); 
     } 

     public void onSwipeLeft() {WebView webView=(WebView)findViewById(R.id.webView); 
     webView.loadUrl("http://www.google.com"); 

    }} 

ответ

0

Посмотрите на этой библиотеке братане, может быть, я помочь вам https://github.com/NikolayKolomiytsev/zTouch

+0

Хотя ссылка на дополнительную информацию Отлично, пожалуйста, укажите детали, почему это помогает ответить на вопрос. Если ссылка умирает, ваш ответ, скорее всего, будет опущен и/или удален. –

+0

Хорошо, посмотрите, эта библиотека сможет помочь этому пользователю добавить обработчик, длинные или двойные щелчки, мой, что он не должен? Теперь он может добавить обработку, чтобы переместить палец вверх, влево, вниз и вправо, я надеюсь, что это поможет ему^_ ^ –

Смежные вопросы