1

Android でジェスチャを検出しようとすると、常にクラッシュします。コンストラクタの作成に問題があります。クラスの使用はあまり進んでいません。

これは GestureDetector クラスであり、OnGestureListener に必要なすべてのメソッドを幅付けします。

public class GestureDetectorClass implements OnGestureListener {

      @Override
      public boolean onDown(MotionEvent arg0) {
          Log.d("Gesture", "onDown");
       return false;
      }

      @Override
      public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,  float velocityY) {
          Log.d("Gesture", "onFling");
      return true;
      }

      @Override
      public void onLongPress(MotionEvent e) {
          Log.d("Gesture", "onLongPress");
      }

      @Override
      public boolean onScroll(MotionEvent e1, MotionEvent e2,
        float distanceX, float distanceY) {
          Log.d("Gesture", "onScroll");
       return false;
      }

      @Override
      public void onShowPress(MotionEvent e) { 
          Log.d("Gesture", "onShowPress");
      }

      @Override
      public boolean onSingleTapUp(MotionEvent e) {
          Log.d("Gesture", "onSingleTapUp");
          return false;
      }

}

そして主に、次のコードを試したクラス/メソッドを呼び出すようになりました:

public class MainActivity extends Activity  {


    GestureDetectorClass myGestureClass = new GestureDetectorClass();
    GestureDetector myDector = new GestureDetector(this, myGestureClass);

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

    }

    public boolean onTouch(MotionEvent e) {
        return myDector.onTouchEvent(e);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

ログで私はこのエラーを見つけました:

    11-13 11:15:02.615: E/AndroidRuntime(1127): Caused by: java.lang.NullPointerException
11-13 11:15:02.615: E/AndroidRuntime(1127):     at android.content.ContextWrapper.getApplicationInfo(ContextWrapper.java:125)
4

1 に答える 1