我正在編寫一個應用程序,它將有兩個活動,當用戶在第二個活動上按下後退按鈕時,會彈出一個對話框,要求用戶確認該操作。那麼我怎麼攔截這個?我真的懷疑這個因爲後臺是操作系統本身的一部分。有沒有人找到解決方法?攔截後退按鈕
攔截後退按鈕
回答
在一個活動,你可以只覆蓋
onBackPressed()
編輯:這是API LVL 5+:/ 4和下面你得重寫的onkeydown()
不錯,謝謝@schwiz – 2010-09-01 04:21:16
只需重寫活動中的onKeyDown方法並查找後退按鈕即可。返回true以便事件被消耗。
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
//Do something here
return true;
}
return super.onKeyDown(keyCode, event);
}
+1,我以前做過這件事,它絕對有效,雖然當我使用它時,它是在我理解多個活動的概念之前... – 2010-09-01 03:57:52
//在這裏做點什麼(我正在嘗試爲我測試代碼) 不適合我。而當我按下後退按鈕什麼也沒有發生。 – 2010-09-01 04:08:07
我的錯誤,我沒有叫Toast.show()。 工作代碼。 Thanx @skorulis – 2010-09-01 04:16:52
正如schwiz指出的那樣,您需要覆蓋活動類中的onBackPressed()
方法(http://developer.android.com/reference/android/app/Activity.html#onBackPressed())。
我只是想補充一點,如果你確實想在某個階段有繼續或訪問標準的回退操作(比如後,顯示一個對話框),那麼您只需撥打super.onBackPressed()
或ActivityName.super.onBackPressed()
從活動的任何地方。
- 1. UINavigationBar的:攔截後退按鈕和向後滑動手勢
- 2. 範圍攔截器Struts 2:後退按鈕行爲
- 3. 如何攔截片段中的後退按鈕?
- 4. 攔截/處理React-router中的瀏覽器後退按鈕?
- 5. 攔截搜索按鈕按
- 6. C#攔截瀏覽按鈕
- 7. 攔截html按鈕點擊
- 8. 我不想後退按鈕被截斷
- 9. 攔截VB6按鈕單擊事件與退路
- 10. 如何攔截中心按鈕按
- 11. 後退按鈕
- 12. 攔截按鈕點擊頁面加載
- 13. 如何攔截按鈕水龍頭?
- 14. 攔截所有按鈕點擊
- 15. JQuery的:攔截點擊提交按鈕
- 16. 攔截PopupWindow中的Android菜單按鈕
- 17. 註銷按鈕攔截輸入密鑰
- 18. JQuery的攔截點擊按鈕
- 19. 攔截MyTouch 4g天才按鈕
- 20. 藍牙耳機上的攔截按鈕
- 21. Android按鈕onClick攔截滾動
- 22. 應用按後退按鈕當按下後退按鈕
- 23. PHP後退按鈕
- 24. 後退按鈕android
- 25. UINavigation後退按鈕
- 26. UITableView後退按鈕
- 27. Android後退按鈕
- 28. 後退按鈕NSPopover
- 29. Laravel後退按鈕
- 30. Jquery後退按鈕。
認真對待這樣做。這是非標準的Android行爲,可能會惹惱您的用戶。您是否試圖避免丟失未保存的數據? – I82Much 2010-09-01 04:01:04
是的@ @ 82Much! – 2010-09-01 04:23:54