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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!