2017-03-18 49 views
2

我在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 

目前,應用程序只是退出沒有吐司顯示。我需要做些什麼才能正確實施?

+0

你試圖處理程序,而不是計時器? – seekingStillness

+0

不,我沒有。這將如何工作? – Eragon20

+1

基本上在主線程上調用你的敬酒,然後添加一個處理程序,2秒鐘後退出應用程序...處理程序的很多例子可以在這裏找到堆棧溢出 – seekingStillness

回答

1

像這樣的東西(我可能有一個支架關)

if (v.equals(endGame)) { //if "end game" button was clicked 
Toast t = Toast.makeText(getApplicationContext(), "Thanks for playing",  Toast.LENGTH_LONG); 
    t.show(); 
Handler handler = new Handler(); 
     handler.postDelayed(new Runnable() { 
      public void run() { 
       // end app; 
      } 
     }, 2000); //2 seconds 
} 
+0

這工作得很好!謝謝! – Eragon20

1

只要覆蓋onBackPressed()方法即可檢查用戶何時按下「後退」按鈕退出主活動。在這種方法中,只需彈出你的吐司,然後終止程序。

如果爲Exit提供了另一個按鈕功能,請致電onBackPressed()方法從您Button.onClick那應該調用您的重寫方法就好了。

相關問題