2012-01-16 167 views
0

我嘗試重寫此方法堅持了一些問題後退按鈕仍然關閉我的應用程序

public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { 
      if(screenStatus >=1) 
      {screenStatus=0; 
       indexMenu(); 


      } 
      if(screenStatus==0) 

       { 
       finish(); 
       }return false; 
     } 

     return super.onKeyDown(keyCode, event); 
    } 

當我按下後退按鈕我的應用程序關閉..但如果代碼中看到..必須有通話功能indexMenu (); 我的意思是我有菜單...按菜單中的某個(例如開始..),並有新的窗口..我按下後退按鈕,我看到如何應用程序返回主菜單(indexMenu())和關閉(回到indexMenu()後1秒)

可以告訴我如何解決這個問題嗎?

的問候,彼得

類似的問題,我發現這裏Back button and last activity 但我不需要alertBuilder ..而無需其他信息在屏幕上..只是想沒有問題要回indexMenu()。

UPD HELP 幫助後,確定此代碼的工作完美的我AFTER:

@Override 
    public void onBackPressed() 
    { 
     if (screenStatus>=1) 
     { 
      indexMenu(); 
      screenStatus=0; 
      // super.onBackPressed(); 
     } 
     else if(screenStatus==0) 
     { 
      finish(); 
      super.onBackPressed(); 
     } 
    } 

感謝:lordlPKeidel

回答

2

我做到了這種方式,它工作正常:

@Override 
    public void onBackPressed() 
    { 
     if (youWantToCloseTheApp) 
      super.onBackPressed(); 
     else 
      // Do other funny things here 
    } 
+0

謝謝哥們,此信息新對我來說,這是非常幫助我。 – Peter 2012-01-18 03:48:13

+0

你不能總是依靠這個! – 2013-02-26 11:00:03

1

覆蓋onBackPressed()代替,並處理它。 如果你不叫super.onBackPressed(),應用程序不會關閉。

相關問題