问题:如何启用我的后退按钮以返回我之前的托管活动/片段?
情况:我的启动器活动托管片段,同时还包含FAB。单击FAB将启动另一个托管另一个片段的活动。当显示后一个片段时,searchView会自动扩展并关注它。向后按可关闭键盘。但是,再次按下并不会让我回到我的启动器活动中。
我尝试的事情:
在我的托管活动中
fm.beginTransaction().add(R.id.fragment_container, fragment).addToBackStack(null).commit();
@Override
public void onBackPressed() {
int count = getFragmentManager().getBackStackEntryCount();
if (count == 0) {
super.onBackPressed();
//additional code
} else {
getFragmentManager().popBackStack();
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DOWN) {
return true;
}
return false;
}
片段
frag.getView().setFocusableInTouchMode(true);
frag.getView().setOnKeyListener( new OnKeyListener(){
@Override
public boolean onKey( View v, int keyCode, KeyEvent event ){
if( keyCode == KeyEvent.KEYCODE_BACK ){
return true;
}
return false;
}
} );
此外,我注意到按下后退按钮并不会调用onBackPressed或onKeyDown。