1. 程式人生 > >在Fragment中監聽返回鍵等物理按鍵的事件

在Fragment中監聽返回鍵等物理按鍵的事件

在Activity中重寫onKeyDown方法。

獲取到當前commit的Fragment判斷當前Fragment是否是我們需要監聽返回鍵的Fragment。

如果是,就呼叫Fragment中的相應自定義方法,並返回true;

如果不是就返回super.onKeyDown(keyCode, event),注意這裡不要直接返回false,否則返回鍵失效。

監聽其他按鍵也是同理。

    @Override  
    public boolean onKeyDown(int keyCode, KeyEvent event) {  
        if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {  
            if (fragment instanceof GalleryFragment) {  
              ((GalleryFragment) fragment).cancleSelect();  
                return true;  
            }  
        }  
    return super.onKeyDown(keyCode, event); 

在Fragment中自定義的方法:

 public void cancleSelect() {
        //TODO something
    }