我正在编写一个应用程序,它将有两个活动,当用户在第二个活动上按下后退按钮时,会弹出一个对话框,要求用户确认该操作。那么我怎么拦截这个?我真的怀疑这个因为后台是操作系统本身的一部分。有没有人找到解决方法?拦截后退按钮
拦截后退按钮
回答
在一个活动,你可以只覆盖
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. 如何拦截片段中的后退按钮?
- 2. 拦截/处理React-router中的浏览器后退按钮?
- 3. 拦截搜索按钮按
- 4. C#拦截浏览按钮
- 5. 拦截html按钮点击
- 6. 我不想后退按钮被截断
- 7. 拦截VB6按钮单击事件与退路
- 8. 应用按后退按钮当按下后退按钮
- 9. 拦截按钮点击页面加载
- 10. 注销按钮拦截输入密钥
- 11. JQuery的:拦截点击提交按钮
- 12. JQuery的拦截点击按钮
- 13. 如何拦截按钮水龙头?
- 14. 拦截MyTouch 4g天才按钮
- 15. 蓝牙耳机上的拦截按钮
- 16. 后退按钮uinavigationcontroller
- 17. jQTouch后退按钮
- 18. UINavigation后退按钮
- 19. Android后退按钮
- 20. UITableView后退按钮
- 21. ASP MVC多按钮表单让JQuery拦截按钮单击
- 22. 按钮点击按钮内容拦截的事件
- 23. 后退按钮后跟踪
- 24. ActionBar后退按钮和Android后退按钮之间的区别
- 25. IOS 9.3禁用iPhone上的后退按钮后退按钮
- 26. iframe后退按钮问题(不想后退按钮影响iframe)
- 27. 检测按钮的后退按钮
- 28. LogOut按钮创建后退按钮
- 29. 后退按钮“和”编辑按钮
- 30. 如何截断UINavigationController中后退按钮的内容?
认真对待这样做。这是非标准的Android行为,可能会惹恼您的用户。您是否试图避免丢失未保存的数据? – I82Much 2010-09-01 04:01:04
是的@ @ 82Much! – 2010-09-01 04:23:54