android中Activity實現再按一次退出
在這里,最主要的是覆寫onKeyDown(int, KeyEvent)方法。
對于實現在一定時間內再按一次退出,思路可以如下:
編寫一個輔助類,里面有成員變量boolean isWillExit,當它為true時,則再按一次返回鍵退出。第一次按返回鍵時,isWillExit設置為true,再編寫一個Runnable實例,在指定時間后設置isWillExit為false。
詳細看代碼吧。代碼如下:
以下代碼在Activity中
Exit exit = new Exit(); // ... @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { pressAgainExit(); return true; } return super.onKeyDown(keyCode, event); }/** * 再按一次退出程序。 */ private void pressAgainExit() { if (exit.isExit()) { finish(); } else { Toast.makeText(getApplicationContext(), "再按一次退出程序", 1000).show(); exit.doExitInOneSecond(); } }</pre>下面是一個輔助類。 <pre class="brush:java; toolbar: true; auto-links: false;">class Exit { private boolean isExit = false; private Runnable task = new Runnable() { @Override public void run() { isExit = false; } }; public void doExitInOneSecond() { isExit = true; HandlerThread thread = new HandlerThread("doTask"); thread.start(); new Handler(thread.getLooper()).postDelayed(task, 1000); } public boolean isExit() { return isExit; } public void setExit(boolean isExit) { this.isExit = isExit; }
}</pre>本文原創,轉載請注明ITEYE原文地址:http://maosidiaoxian.iteye.com/blog/1403040 或本人博客地址:http://msdxblog.sinaapp.com/?p=316
本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!