在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
}