天天看点

android 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

}