歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android中Activity實現再按一次退出

在這裡,最主要的是覆寫onKeyDown(int, KeyEvent)方法。

對於實現在一定時間內再按一次退出,思路可以如下:

編寫一個輔助類,裡面有成員變量boolean isWillExit,當它為true時,則再按一次返回鍵退出。第一次按返回鍵時,isWillExit設置為true,再編寫一個Runnable實例,在指定時間後設置isWillExit為false。

詳細看代碼吧。代碼如下:

以下代碼在Activity中

  1. Exit exit = new Exit();   
  2. // ...   
  3. @Override  
  4. public boolean onKeyDown(int keyCode, KeyEvent event) {   
  5.     if (keyCode == KeyEvent.KEYCODE_BACK) {   
  6.         pressAgainExit();   
  7.         return true;   
  8.     }   
  9.     return super.onKeyDown(keyCode, event);   
  10. }   
  11.   
  12. /**  
  13.  * 再按一次退出程序。  
  14.  */  
  15. private void pressAgainExit() {   
  16.     if (exit.isExit()) {   
  17.         finish();   
  18.     } else {   
  19.         Toast.makeText(getApplicationContext(), "再按一次退出程序",   
  20.                 1000).show();   
  21.         exit.doExitInOneSecond();   
  22.     }   
  23. }  

下面是一個輔助類。

  1. class Exit {   
  2.     private boolean isExit = false;   
  3.     private Runnable task = new Runnable() {   
  4.         @Override  
  5.         public void run() {   
  6.             isExit = false;   
  7.         }   
  8.     };   
  9.   
  10.     public void doExitInOneSecond() {   
  11.         isExit = true;   
  12.         HandlerThread thread = new HandlerThread("doTask");   
  13.         thread.start();   
  14.         new Handler(thread.getLooper()).postDelayed(task, 1000);   
  15.     }   
  16.        
  17.     public boolean isExit() {   
  18.         return isExit;   
  19.     }   
  20.   
  21.     public void setExit(boolean isExit) {   
  22.         this.isExit = isExit;   
  23.     }   
  24. }  
Copyright © Linux教程網 All Rights Reserved