我写了一个关于Accelerometer
的应用。移动手机时,我可以通过传感器值定义移动方向。然后当我按下按钮时,我通过一个变量比较它的值。
如果Dem == 10
-> setText("You win")
否则-> setText("Fail")
,但始终显示Fail。
请帮助我,函数if / else无法正确运行_app android请使用Accelerometer
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
只需在要测试的行上单击并以调试模式(Shift + F9)运行该应用程序即可。
我确定if \ else可以正常工作。当应用程序针对breackpoint执行一行时-您将看到Dem变量的确切数量