从PopupWindow动态覆盖onBackPressed of Activity

时间:2014-02-24 18:41:02

标签: android override popupwindow

我写了一个扩展popupwindow的类。当用户按下后退键时,我想处理从这个类中按下的后退,而不是让底层活动处理它(即,我已经知道覆盖onBackPressed(),但这需要修改活动的代码) 。我有一个活动实例的参考。无论如何在显示弹出窗口时重写后退按键而不使用活动代码中的onBackPressed()方法?

2 个答案:

答案 0 :(得分:1)

除非你从操作系统中劫持后退按钮并将其广播以唤醒应用程序的PopupWindow(我不建议这样做),否则没有办法。

你应该覆盖onBackPressed()或者我相信你的Activity中的onKeyDown(int keyCode,KeyEvent事件)来操作/使用后退键(当你的活动在前台时)。只要它执行“动态”的东西,我不完全确定我明白你在问什么。您可以在PopupWindow类中使用代码,但可以通过活动中的实例变量从onBackPressed()或onKeyDown()调用它。

答案 1 :(得分:0)

如果我没错,你实际上要从另一个类中调用活动的onBackpressed()方法。我猜你可以定义一个类的构造函数,它接受一个context参数并使用这个上下文您可以调用活动的onBackPressed()方法。我希望这会有所帮助..