回答編集履歴
2
コード記載
answer
CHANGED
@@ -4,11 +4,16 @@
|
|
4
4
|
|
5
5
|
という動きになっているからです。これを解消するためには、Runnableを変数に保持しておいて、止めるときにHandlerの`removeCallbacks(Runnable)`にそれを渡す必要があるのではないでしょうか。
|
6
6
|
|
7
|
+
まどろっこしいのでコード全部書き直しました。
|
7
8
|
```java
|
8
9
|
protected void onCreate(Bundle savedInstanceState) {
|
9
|
-
|
10
|
+
super.onCreate(savedInstanceState);
|
11
|
+
setContentView(R.layout.activity_main);
|
12
|
+
manager = (SensorManager)this.getSystemService(SENSOR_SERVICE);
|
13
|
+
accSensor = this.manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
|
14
|
+
Button start_btn = (Button) findViewById(R.id.button);
|
15
|
+
Button stop_btn = (Button) findViewById(R.id.button2);
|
10
16
|
|
11
|
-
//実行するRunnableを変数に保持
|
12
17
|
final Runnable r = new Runnable(){
|
13
18
|
@Override
|
14
19
|
public void run() {
|
@@ -17,7 +22,12 @@
|
|
17
22
|
}
|
18
23
|
};
|
19
24
|
|
25
|
+
start_btn.setOnClickListener(new View.OnClickListener() {
|
26
|
+
@Override
|
27
|
+
public void onClick(View v) {
|
20
|
-
|
28
|
+
mHandler.postDelayed(r ,2000); // 2秒後に処理
|
29
|
+
}
|
30
|
+
});
|
21
31
|
|
22
32
|
stop_btn.setOnClickListener(new View.OnClickListener() {
|
23
33
|
@Override
|
@@ -27,5 +37,10 @@
|
|
27
37
|
button_flag = 0;
|
28
38
|
}
|
29
39
|
});
|
40
|
+
|
41
|
+
mX = (TextView)this.findViewById(R.id.textView);
|
42
|
+
mY = (TextView)this.findViewById(R.id.textView4);
|
43
|
+
mZ = (TextView)this.findViewById(R.id.textView6);
|
44
|
+
|
30
45
|
}
|
31
46
|
```
|
1
コメントを受け修正
answer
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
//省略
|
10
10
|
|
11
11
|
//実行するRunnableを変数に保持
|
12
|
-
Runnable r = new Runnable(){
|
12
|
+
final Runnable r = new Runnable(){
|
13
13
|
@Override
|
14
14
|
public void run() {
|
15
15
|
button_flag = 1;
|