1

インターネットで自分の問題を検索しましたが、問題に対する適切な答えが見つかりませんでした。

私が欲しいもの:右から左へのスワイプを実装して、MainActivity から TimeSetActivity に移動できるようにしたいと考えています。

私の問題は何ですか?:このアイデアをコーディングしようとしましたが、右から左にスワイプした後、AVD が TimeSetActivity に移動しません。スワイプの値を変更しても変わりません。まるでジェスチャーを初期化していないかのようです。(コード自体にエラーは発生していません)

私のコード:

package com.example.wirelessthermostat;



    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.GestureDetector.OnGestureListener;
    import android.view.Menu;
    import android.view.MotionEvent;
    import android.view.View;

    public class MainActivity extends Activity implements OnGestureListener {

private static final int SWIPE_MIN_DISTANCE = 120;
private static final int SWIPE_MAX_OFF_PATH = 250;
private static final int SWIPE_THRESHOLD_VELOCITY = 100;

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

public void nextIntent(View view) {
    Intent intent = new Intent(this, TimesetActivity.class);
    startActivity(intent);
}

@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;
}

@Override
public boolean onDown(MotionEvent arg0) {
    // TODO Auto-generated method stub
    return false;
}

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
        float velocityY) {
     try {
            if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH){
                return false;
            }
            // right to left swipe
            if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE
                    && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                Intent intent = new Intent(this, TimesetActivity.class);
                startActivity(intent);
            } 
            // left to right swipe
            else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
                    && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                Intent intent = new Intent(this, TimesetActivity.class);
                startActivity(intent);
            }
        } catch (Exception e) {

        }
        return false;
}

@Override
public void onLongPress(MotionEvent e) {
    // TODO Auto-generated method stub

}

@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
        float distanceY) {
    // TODO Auto-generated method stub
    return false;
}

@Override
public void onShowPress(MotionEvent e) {
    // TODO Auto-generated method stub

}

@Override
public boolean onSingleTapUp(MotionEvent e) {
    // TODO Auto-generated method stub
    return false;
}

}

4

0 に答える 0