关于一个view焦点转移时响应按键事件的问题

 

 

        mLayoutInternet.setOnKeyListener(new OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {

                // TODO Auto-generated method stub    
                if(KeyEvent.ACTION_UP == event.getAction()) {
                    System.out.println("Internet UP");
                }
                if(KeyEvent.ACTION_DOWN == event.getAction()) {
                    System.out.println("Internet DOWN");
                }
                return false;
            }
        });
        mLayoutLocal.setOnKeyListener(new OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                // TODO Auto-generated method stub
                if(KeyEvent.ACTION_UP == event.getAction()) {
                    System.out.println("Local UP");
                }
                if(KeyEvent.ACTION_DOWN == event.getAction()) {
                    System.out.println("Local DOWN");
                }
                return false;
            }
        });


        如图片显示,为两个layout设置onKey监听器,在图片显示的状态下按方向键下,焦点就会去到第二个layout,此时的打印信息为

12-16 02:58:26.580: INFO/System.out(1849): Internet DOWN
12-16 02:58:26.700: INFO/System.out(1849): Local UP
        然后,当焦点在第二个layout时按方向键上,焦点就会回到第一个layout,此时的打印信息为

12-16 02:59:45.363: INFO/System.out(1849): Local DOWN
12-16 02:59:45.402: INFO/System.out(1849): Internet UP

 

        从上面的打印信息可以发现,获得焦点的一个view上面按下键盘时,如果焦点转移了,这个view此时响应了按键事件中的按下事件,而抬起事件则在获得焦点的那个view响应。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值