teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追加

2020/01/23 17:01

投稿

jimbe
jimbe

スコア13357

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  tenButton の onClick のコードは, パラメータとなる変数に値を設定しているだけで, 何の意味もありません.
2
- ```
2
+ ```java
3
3
  public void onClick(View v) {
4
4
  long countNumber = 600000;
5
5
  // インターバル msec
@@ -8,10 +8,10 @@
8
8
  ```
9
9
  カウントダウンしているのは countDown に設定したオブジェクトのはずです.
10
10
  宣言の final を取り, tenButton の onClick では追加で新たな CountDown オブジェクトを設定しては如何でしょうか.
11
- ```
11
+ ```java
12
12
  /*final*/ CountDown countDown = new CountDown(countNumber, interval);
13
13
  ```
14
- ```
14
+ ```java
15
15
  tenButton.setOnClickListener(new View.OnClickListener() {
16
16
  @Override
17
17
  public void onClick(View v) {
@@ -24,11 +24,20 @@
24
24
  });
25
25
  ```
26
26
  というよりもパラメータとなる変数はこの際不要かもしれません.
27
- ```
27
+ ```java
28
28
  tenButton.setOnClickListener(new View.OnClickListener() {
29
29
  @Override
30
30
  public void onClick(View v) {
31
31
  countDown = new CountDown(600000, 10); //[ms].
32
32
  }
33
33
  });
34
+ ```
35
+
36
+ ---
37
+ 設定した時間数を(カウントダウンを開始する前に)確認できるように, CountDown のコンストラクタで textTimer に時間を表示しては如何でしょうか.
38
+ ```java
39
+ CountDown(long millisInFuture, long countDownInterval) {
40
+ super(millisInFuture, countDownInterval);
41
+ timerText.setText(dataFormat.format(millisInFuture)); //追加
42
+ }
34
43
  ```