您好,登錄后才能下訂單哦!
很多應用中都有一個在用戶后退的時候顯示“再按一次退出”的提醒,這個怎么實現呢?有兩種方式
第一種方式(最常用)
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方法直接監聽返回鍵
@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以后.
如果你需要同時重寫這兩個方法,可能要注意一些問題啦!系統先是onKeyDown,如果return true了,就不會onBackPressed了
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。