android fragment返回键被dialog屏蔽

这个问题遇到好几次了,一直没整理下来,这次记录下,先描述下:在一个activity里弹出一个dialog,这个时候点击返回键的时候想直接把activity finish掉,但是此时返回键的监听被dialog给屏蔽了,只能先finish掉dialog

解决方案:

只能监听dialog的back事件了

cDialog.setOnKeyListener(new OnKeyListener()
        {
            public boolean onKey(DialogInterface dialog,
                    int keyCode, KeyEvent event)
            {
                if (keyCode == KeyEvent.KEYCODE_BACK)
                {
                    dialog.dismiss();
                     //此处把dialog dismiss掉,然后把本身的fragment finish掉
                    bus.post("selected_finish", "selected_finish");
                    
                    return true;
                }
                else
                {
                    return false;
                }
            }
        });

这样就可以完美处理返回键被屏蔽的问题了!


你可能感兴趣的:(android fragment返回键被dialog屏蔽)