android关于重写popwindow,back事件的监听

在Android中,当使用PopupWindow时,想要在按下Back键时执行特定操作,而非系统默认行为。本文探讨了四种尝试方法,包括直接在Activity中处理、使PopupWindow继承自Activity、使PopupWindow继承自PopupWindow并重写dismiss方法,以及最终解决方案——通过设置View监听事件来捕获Back键并自定义处理逻辑。
摘要由CSDN通过智能技术生成

第一:问题:

PopupWindow弹出窗口之后,想在back键的时候自己做其他的事情,如何获取back键。

第二:解决:

 keyboardView.setFocusable(true);//comment by danielinbiti,设置view能够接听事件,标注1    
 keyboardView.setFocusableInTouchMode(true); //comment by danielinbiti,设置view能够接听事件 标注2    
  keyboardView.setOnKeyListener(new OnKeyListener(){    
        @Override    
        public boolean onKey(View arg0, int arg1, KeyEvent arg2) {    
                if (arg1 == KeyEvent.KEYCODE_BACK){    
                if(popupWindow != null) {    
                    close();    
                    }     
                }    
                 return false;     
        }    
     });  


第三:尝试与结论:

其实这段代码在网上很容易看到,但是关键是红色字体部分的理解。因为我们都是需要自定义popWindwow。

1)你首先想到的肯定是一般的activity的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值