CountDownTimer を少しいじってみました。ただし、特別なアプリの場合、次の機能が必要です。
- ランダムなランタイムで CountDownTimer を開始する
- 終了時にビープ音を鳴らす
- 5 秒待ちます
- 再度ビープ音を鳴らして GOTO 1.
この手順は、ボタンで開始し、ボタンでキャンセルする必要があります。ここでループされた CountDownTimer を使用した投稿を見つけましたが、これはランダムなランタイムでは機能しません。
CountDownTimer を少しいじってみました。ただし、特別なアプリの場合、次の機能が必要です。
この手順は、ボタンで開始し、ボタンでキャンセルする必要があります。ここでループされた CountDownTimer を使用した投稿を見つけましたが、これはランダムなランタイムでは機能しません。
わかりました、私はあなたにコードを与えるつもりはありません。それはあなたの宿題です。ただし、ウィルがどのように機能するかを説明しますcountDownTimer
。
CDT クラスを設定したら、新しいオブジェクトを作成します。
private static myCDT newTime;//static makes sure there's only one instance of the variable in the entire program
newTime = new myCDT(randNum*1000, 1000);
randNum が 10 の場合、カウント ダウンは 10 秒間です。
乱数を生成するには、上限をどうしたいかを調べます。私はそれが 50 であると想定しています。したがって、CDT には 0 ~ 50 のオプションがあります。
int randNum=50*Math.random();
0を除外して最小にしたい場合1s
int randNum=1+49*Math.random();
ボタンのブール変数も設定します。初めてクリックしたときは、true に設定します。しばらくの間、この変数を条件として使用します。ここで、ユーザーがボタンをもう一度クリックした場合は、変数を false に設定します。cancel()
CDT オブジェクトの関数を呼び出しますnewTime
。onFinish()
ここで、CDT の関数を呼び出します。これにより制御の流れが while ループに戻り、条件が false になり、ループが停止します。このループがボタンのクリック リスナー関数内にあることを確認してください。または他の関数で、必ずクリックリスナーから呼び出してください。