簡體   English   中英

功能如果/否則無法正常運行_app android請使用Accelerometer

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM