Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java onFling手势检测器不工作_Java_Android - Fatal编程技术网

Java onFling手势检测器不工作

Java onFling手势检测器不工作,java,android,Java,Android,虽然我的手势检测器在我的另一个班级工作得很好,但当我使用fling进入我的新活动时,手势检测器似乎不适合我。我找不到有什么问题,有什么帮助吗 public class FlingExample extends AppCompatActivity { private int sequenceDelaySpeed; private Bundle extras; private TextView colourChangeSpeed; private TextView speedWarning; pr

虽然我的手势检测器在我的另一个班级工作得很好,但当我使用fling进入我的新活动时,手势检测器似乎不适合我。我找不到有什么问题,有什么帮助吗

public class FlingExample extends AppCompatActivity {

private int sequenceDelaySpeed;
private Bundle extras;
private TextView colourChangeSpeed;
private TextView speedWarning;
private static final int FLING_DISTANCE = 40;
private GestureDetector gestureDetector;

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

    colourChangeSpeed = (TextView) findViewById(R.id.colourChangeText);
    speedWarning = (TextView) findViewById(R.id.speedWarning);

    extras = getIntent().getExtras();
    if (extras != null) {
        sequenceDelaySpeed = extras.getInt("sequenceDelayTime");
    }
    colourChangeSpeed.setText(getString(R.string.colour_change_speed) + "\n" + sequenceDelaySpeed + " " + getString(R.string.milliseconds));


    gestureDetector = new GestureDetector(this,
            new GestureDetector.SimpleOnGestureListener() {
                @Override
                public boolean onFling(MotionEvent e1, MotionEvent e2,
                                       float velocityX, float velocityY) {
                    if (e1.getY() - e2.getY() > FLING_DISTANCE) {//up
                        if(sequenceDelaySpeed > 50) {
                            sequenceDelaySpeed = sequenceDelaySpeed - 50;
                            colourChangeSpeed.setText(getString(R.string.colour_change_speed) + "\n" + sequenceDelaySpeed + getString(R.string.milliseconds));
                        }
                        else{
                            speedWarning.setText(getString(R.string.cannot_be_faster));
                        }
                        return true;

                    } else if (e2.getY() - e1.getY() > FLING_DISTANCE) {//down
                        if(sequenceDelaySpeed < 1500) {
                            sequenceDelaySpeed = sequenceDelaySpeed + 50;
                            colourChangeSpeed.setText(getString(R.string.colour_change_speed) + "\n" + sequenceDelaySpeed + " " + getString(R.string.milliseconds));
                        }
                        else{
                            speedWarning.setText(getString(R.string.cannot_be_slower));
                        }
                        return true;

                    } else if (e2.getX() - e1.getX() > FLING_DISTANCE) {//right
                        return true;
                    }

                    return false; // works with true also
                }
            });

}

@Override // onTouchEvent required for onFling to be invoked...
public boolean onTouchEvent(MotionEvent event) {
    return gestureDetector.onTouchEvent(event); // ...pass to gestureDetector above
}
public类FlingeExample扩展了AppCompative活动{
私人int速度;
私人包袱;
私密文本浏览速度;
私用文本视图速度警告;
专用静态最终内抛距离=40;
私人手势检测器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u fling\u示例);
colorChangeSpeed=(TextView)findViewById(R.id.colorChangeText);
speedWarning=(TextView)findViewById(R.id.speedWarning);
extras=getIntent().getExtras();
如果(附加值!=null){
sequenceDelaySpeed=extras.getInt(“sequenceDelayTime”);
}
colorchangespeed.setText(getString(R.string.color\u change\u speed)+“\n”+sequenceDelaySpeed+”+getString(R.string.millides));
gestureDetector=新的gestureDetector(此,
新的GestureDetector.SimpleOnGestureListener(){
@凌驾
公共布尔onFling(运动事件e1、运动事件e2、,
浮动速度x,浮动速度y){
如果(e1.getY()-e2.getY()>投掷距离){//up
如果(sequenceDelaySpeed>50){
sequenceDelaySpeed=sequenceDelaySpeed-50;
colorchangespeed.setText(getString(R.string.color\u change\u speed)+“\n”+sequenceDelaySpeed+getString(R.string.ms));
}
否则{
speedWarning.setText(getString(R.string.cannot_更快));
}
返回true;
}else如果(e2.getY()-e1.getY()>投掷距离){//down
如果(sequenceDelaySpeed<1500){
sequenceDelaySpeed=sequenceDelaySpeed+50;
colorchangespeed.setText(getString(R.string.color\u change\u speed)+“\n”+sequenceDelaySpeed+”+getString(R.string.millides));
}
否则{
speedWarning.setText(getString(R.string.cannot_较慢));
}
返回true;
}else如果(e2.getX()-e1.getX()>FLING_DISTANCE){//right
返回true;
}
return false;//也适用于true
}
});
}
@重写调用onFling所需的//onTouchEvent。。。
公共布尔onTouchEvent(运动事件){
返回gestureDetector.onTouchEvent(事件);/…传递到上面的gestureDetector
}

}

你从哪里开始你的活动?@RuchirBaronia当你向左抛时,它从主要活动开始。如果(e1.getX()-e2.getX()>FLING_DISTANCE){Intent flingScreen=newintent(StartScreen.this,FlingExample.class);flingScreen.putExtra(“sequenceDelayTime”,sequenceDelayTime);startActivityForResult(flingScreen,2);返回true;}我看不到intent@RuchirBaroniaIntent flingScreen=newintent(StartScreen.this,FlingExample.class);flingScreen.putExtra(“sequenceDelayTime”,sequenceDelayTime);startActivityForResult(flingScreen,2);返回true;}你从哪里开始你的活动?@RuchirBaronia当你向左转时,它是从主要活动开始的。如果(e1.getX()-e2.getX()>FLING_DISTANCE){Intent flingScreen=newintent(StartScreen.this,FlingExample.class);flingScreen.putExtra(“sequenceDelayTime”,sequenceDelayTime);startActivityForResult(flingScreen,2);返回true;}我看不到intent@RuchirBaroniaIntent flingScreen=newintent(StartScreen.this,FlingExample.class);flingScreen.putExtra(“sequenceDelayTime”,sequenceDelayTime);startActivityForResult(flingScreen,2);返回true;}