###前提・実現したいこと
Androidスマートフォンで、STARTボタンをタップすると2秒後に画面上に加速度センサーの値を表示し、STOPボタンを押すと表示を止める、ということをしようとしています。
ちなみに表示中の値はCSVで出力する予定です。
###発生している問題・エラーメッセージ
STARTボタンを押すと、ちゃんと2秒たってから表示が始まるのですが、
STOPを押しても一瞬止まった後すぐ勝手に表示が再開されてしまいます。
おそらく0にしたbutton_flagが、また勝手に1になってしまっているのだと思いますが、
どうすれば『STARTを押した2秒後に1、STOPを押したら0、そしてそのまま』
というようにできますか?
###ソースコード
JAVA
1 protected void onCreate(Bundle savedInstanceState) { 2 super.onCreate(savedInstanceState); 3 setContentView(R.layout.activity_main); 4 manager = (SensorManager)this.getSystemService(SENSOR_SERVICE); 5 accSensor = this.manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 6 Button start_btn = (Button) findViewById(R.id.button); 7 Button stop_btn = (Button) findViewById(R.id.button2); 8 9 start_btn.setOnClickListener(new View.OnClickListener() { 10 @Override 11 public void onClick(View v) { 12 mHandler.postDelayed(new Runnable() { 13 @Override 14 public void run() { 15 button_flag = 1; 16 mHandler.postDelayed(this, 2000); 17 } 18 },2000); // 2秒後に処理 19 } 20 }); 21 22 stop_btn.setOnClickListener(new View.OnClickListener() { 23 @Override 24 public void onClick(View v) { 25 button_flag = 0; 26 } 27 }); 28 29 mX = (TextView)this.findViewById(R.id.textView); 30 mY = (TextView)this.findViewById(R.id.textView4); 31 mZ = (TextView)this.findViewById(R.id.textView6); 32 33 }
###その他
一部ですが、よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/01/31 15:20 編集
2016/01/31 15:22
退会済みユーザー
2016/01/31 15:30
2016/01/31 15:33
退会済みユーザー
2016/01/31 15:37
2016/01/31 15:42
退会済みユーザー
2016/01/31 15:45
2016/01/31 16:23 編集
退会済みユーザー
2016/01/31 16:13
2016/01/31 16:19