我想在显示弹出窗口时处理后退.在某种程度上我想解雇它,在某些情况下我不想在弹出窗口中执行某些任务.
显示弹出窗口时,不会调用Activity onBackPress.那么当弹出窗口显示时,如何捕获反压事件?
你需要打电话setBackgroundDrawable()给你PopupWindow,并将背景设置为非背景null.这听起来很奇怪,但如果background没有设置为你的东西PopupWindow那么它将无法检测到Activity触摸窗外或后退按钮等事件.
几天前我遇到了同样的问题.我会尝试找到SO答案,有人解释为什么会这样,但可能需要我一点点.在此期间,试试它应该工作.
我没有机会测试它,但你可以尝试添加一个keyEventListener并做这样的事情
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK)
{
// put your code here
}
Run Code Online (Sandbox Code Playgroud)
并添加setOutsideTouchable(true)到您的PopupWindow对象并调用update()它.如果这不起作用,那么您可能必须在弹出窗口显示时禁用后退按钮并将其自己添加Button到窗口中.我还没有找到任何其他内容,可以让您从后退按钮中获取事件.
| 归档时间: |
|
| 查看次数: |
3199 次 |
| 最近记录: |