2017-03-28 2 views
0

iswipelistener nicht funktioniert

eine swipelistener meiner Tätigkeit implementieren möchte ich implementiert nur eine swipelistener in meiner neuen Tätigkeit (intro). die eine Bildansicht enthalten, aber wenn ich öffne, dass es abstürzt, weiß ich nicht, wo der Fehler ist. bitte helft mir, hier ist mein Code ...

package com.hackerinside.jaisonjoseph.radioplanet; 

import android.content.Context; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.GestureDetector; 
import android.view.MotionEvent; 
import android.view.View; 
import android.widget.ImageButton; 
import android.widget.ImageView; 
import android.widget.Toast; 

public class Intro extends AppCompatActivity { 


public class OnSwipeTouchListener implements View.OnTouchListener { 

    private final GestureDetector gestureDetector; 

    public OnSwipeTouchListener (Context ctx){ 
     gestureDetector = new GestureDetector(ctx, new GestureListener()); 
    } 

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

    private final class GestureListener extends GestureDetector.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; 
      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(); 
         } 
         result = true; 
        } 
       } 
       else if (Math.abs(diffY) > SWIPE_THRESHOLD && Math.abs(velocityY) > SWIPE_VELOCITY_THRESHOLD) { 
        if (diffY > 0) { 
         onSwipeBottom(); 
        } else { 
         onSwipeTop(); 
        } 
        result = true; 
       } 
      } catch (Exception exception) { 
       exception.printStackTrace(); 
      } 
      return result; 
     } 
    } 

    public void onSwipeRight() { 
    } 

    public void onSwipeLeft() { 
    } 

    public void onSwipeTop() { 
    } 

    public void onSwipeBottom() { 
    } 
} 



ImageView imageView=(ImageView)findViewById(R.id.imageView); 



@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_intro); 

    imageView.setOnTouchListener(new OnSwipeTouchListener(Intro.this) { 
     public void onSwipeTop() { 
      Toast.makeText(Intro.this, "top", Toast.LENGTH_SHORT).show(); 
     } 
     public void onSwipeRight() { 
      Toast.makeText(Intro.this, "right", Toast.LENGTH_SHORT).show(); 
     } 
     public void onSwipeLeft() { 
      Toast.makeText(Intro.this, "left", Toast.LENGTH_SHORT).show(); 
     } 
     public void onSwipeBottom() { 
      Toast.makeText(Intro.this, "bottom", Toast.LENGTH_SHORT).show(); 
     } 

    }); 

} 
} 
+0

nee Chumma Kopie Paste chyathadeyy, (bitte don 't einfach kopieren und ausführen !! –

+1

Athe .. pinnentha cheyyende –

+1

Njan padichu varunnathe ollu ... So –

Antwort

1

Der Fehler ist:

ImageView imageView=(ImageView)findViewById(R.id.imageView); 

du in onCreate Methode setzen müssen

Verwandte Themen