私はAndroidで簡単なダイスゲームを作成しました。ユーザーが「ゲームを終了」ボタンを押すと、「感謝のために」というトーストを表示してから、アプリケーションを終了したいと考えています。現在、これは私がやっていることです(グローバルタイマはTimer timer;
と宣言しています)。アプリがJavaで閉じる前にトーストを表示
if (v.equals(endGame)) { //if "end game" button was clicked
timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
Toast t = Toast.makeText(getApplicationContext(), "Thanks for playing", Toast.LENGTH_LONG);
t.show();
}, 2000, 2000);
System.exit(0); //quits the app
現在のところ、アプリケーションは単にトースト表示なしで終了します。これを正しく実装するためには何が必要ですか?
があなたの代わりに、タイマーのハンドラを試してみました(私はオフブラケットを持っているかもしれませんか)? – seekingStillness
いいえ、私はしていません。それはどのように働くでしょうか? – Eragon20
は基本的にメインスレッドでトーストを呼び出し、2秒後にアプリケーションを終了するハンドラを追加します。ハンドラの多くの例はスタックオーバーフローでここにあります – seekingStillness