您好,登錄后才能下訂單哦!
很多應(yīng)用中都有一個在用戶后退的時候顯示“再按一次退出”的提醒,這個怎么實現(xiàn)呢?有兩種方式
第一種方式(最常用)
long waitTime = 2000; long touchTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(event.getAction() == KeyEvent.ACTION_DOWN && KeyEvent.KEYCODE_BACK == keyCode) { long currentTime = System.currentTimeMillis(); if((currentTime-touchTime)>=waitTime) { //讓Toast的顯示時間和等待時間相同 Toast.makeText(this, "再按一次退出", (int)waitTime).show(); touchTime = currentTime; }else { finish(); } return true; } return super.onKeyDown(keyCode, event); }
第二種方式
重寫onBackPressed方法直接監(jiān)聽返回鍵
@Override public void onBackPressed() { long currentTime = System.currentTimeMillis(); if((currentTime-touchTime)>=waitTime) { //讓Toast的顯示時間和等待時間相同 Toast.makeText(this, "再按一次退出", (int)waitTime).show(); touchTime = currentTime; }else { finish(); } }
這種方法雖然寫法簡單,但是這種方法缺只適用于Android 2.0以后.
如果你需要同時重寫這兩個方法,可能要注意一些問題啦!系統(tǒng)先是onKeyDown,如果return true了,就不會onBackPressed了
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對億速云的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。