【Mac・Android Studio】ストップウォッチを作ってみる その8〜リセットボタン作成

Android Studio
スポンサーリンク

こんにちは。

今回は、ストップウォッチのリセットボタンを作成します。
とは言っても、リセットボタンは以前作成したタップカウンター
でも作成したので、今回は復習も兼ねてといった形になります😀

↓ まずは、判定用のメンバ変数を用意します。
  リセットボタンが押された後のスタートボタンの挙動が異なるため
  tureかfalseでリセットボタンを押されたかどうかを確認します。
  初期値はfalseにしておきます。
  timerSetは後で使用するので覚えておきます。

// 表示する時間
private long timerSet;
// 判定用変数
boolean numCheck = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

↓ リセットボタン押下後の処理を追加します🙂
  主にやっていることは、判定にtrueをセットすることと、
  表示のカウントを消して、初期値をセットすることです。

// リセットボタンが押下された時の処理
reseBtn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View view) {
// 判定用変数にtrueをセット
numCheck = true;
// カウント表示をリセット
text.setText(“Start!”);

}
});

↓ 次は、スタートボタン押下後の処理を追加します。
  7〜12行目の処理を追加しています。
  判定がtrue(リセットボタン押下)の場合に、メンバ変数のtimerSet
  に0をセットします。(7行目)
  これで今までのカウントは0になります。(9行目)
  その後は、判定の値をfalseに戻します。(11行目)
  これを入れないと永遠に0をセットし続けることになるので・・・💦

@Override
public void onClick (View view) {
// タイマークラス未実行であることを判定
if(null == watchTimer ){

// リセットボタンが押されたかの判定
if (numCheck) {
// 押された場合は、時間に0をセット
timerSet = 0;
// 判定にfalseをセット
numCheck = false;
}

// カウントアップクラス(Timertask)の初期化処理
countUpTime countUpTime = new countUpTime();
// タイマークラスの初期化
watchTimer = new Timer(true);
// タイマークラスのスケジューリング
watchTimer.schedule( countUpTime, 100, 100);
}
}

では、ここで起動してみましょう。

↓ 起動後の画面です。
  今まであったリスタートボタンは消しました😓
  スタートボタンを再度押すとリスタートするので
  いらなくなったのです・・・。
アプリ起動1

↓ スタートボタン押した後です。1秒ごとにカウントされます。
アプリ起動2

↓ ストップボタンで止まります。
  というか、静止画では全く伝わりませんね・・・😅
アプリ起動3

↓ リセットボタンを押します。
  カウントが止まって、Startが表示されていますね✌
アプリ起動4

↓ スタートボタンを押すと、0から再開されます。
  成功です😁
アプリ起動5

以前似たような機能を作ってるのでここら辺はサクサクですね。
次回は、ボタンの非活性処理をやってみます。

今日はここまで🤚

では、また次回。

 

コメント

タイトルとURLをコピーしました