[英]Function If/else cannot run correctly_app android use Accelerometer
我寫了一個關於Accelerometer
的應用程序。 移動手機時,我可以通過傳感器值定義移動方向。 然后當我按下按鈕時,我通過一個變量比較它的值。
如果Dem == 10
> setText("You win")
否則-> setText("Fail")
但它始終顯示Fail。
請幫助我,如果/其他功能無法正常運行_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示例
只需在要測試的行上單擊並以調試模式(Shift + F9)運行該應用程序。
我確定if \\ else可以正常工作。 當應用程序針對breackpoint執行一行時,您將看到Dem變量的確切數量
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.