我编写了一个关于加速度计的应用程序。当您移动手机时,我可以通过传感器值定义移动方向。然后当按下按钮时我将其值与变量进行比较。
If Dem == 10
-> setText("You win")
else -> setText("Fail")
但总是显示 Fail。
请帮助我,函数 If/else 无法正确运行_app android 使用加速计
public class Main2Activity extends AppCompatActivity implements SensorEventListener2 {
int Dem = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
button = (Button) findViewById(R.id.button2);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(Dem ==10) textview_6.setText("You win");
else textview_6.setText("You lost");
}
});
textview_4 = (TextView) findViewById(R.id.textView4);
textview_5 = (TextView) findViewById(R.id.textView3);
textview_6 = (TextView) findViewById(R.id.textView5);
nInitialized = false;
nSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
nAccelerometer = nSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
nSensorManager.registerListener(this,nAccelerometer,SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
public void onSensorChanged(SensorEvent event) {
if (!nInitialized){
textview_4.setText("Are you ready");
xChange_1 = 0;
yChange_1 = 0;
nInitialized = true;
}
else {
xChange_1 = maxX_1 - event.values[0];
yChange_1 = maxY_1 - event.values[1];
if ( xChange_1 > 4 ) textview_4.setText("Moving turn right");
if ( xChange_1 <-4 ) textview_4.setText("Moving turn left");
if ( yChange_1 > 4 ){
textview_4.setText("Moving turn up");
Dem = Dem +1;
textview_5.setText("Score"+Dem);
}
if (yChange_1<-4){
textview_4.setText("Moving turn Down");
Dem = Dem -1;
textview_5.setText("Score"+Dem);
}
}
}
}
最佳答案
如果您使用 Android Studio 或任何 IDE,则可以使用断点来调试您的应用。 Breackpoint example
只需单击要测试的行并在 Debug模式下运行应用程序 (Shift+F9)。
我确信 if\else 工作得很好。当应用程序针对断点执行行时 - 您将看到 Dem 变量的具体数量
关于java - 函数If/else无法正确运行_app android使用加速度计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56834016/