移回上一个片段标签(KEYCODE_BACK) 我有类似的东西 标签 FA - FB -FC - FD
如何实现在按下后退按钮时移动到上一个片段的内容,即从FD - > FC和FC - > FB和FB - > FA(TAB)
使用下面的代码,它从FD - > FB和FC - > FA移动,我该如何解决这个问题。
谢谢
View.setFocusableInTouchMode(true);//Called in Fragment D
View.requestFocus();
View.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Bundle bundle = new Bundle();
FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager().beginTransaction();
Fragment fragment = new FragmentC(); //move to previous fragment (FC)
fragment.setArguments(bundle);
fragmentTransaction.replace(R.id.my_container, fragment)
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
return true;
}
else {
return false;
}
}
});
答案 0 :(得分:0)
如果使用addToBackstack
打开新片段,它应该在没有键控侦听器的情况下工作。 fragmentTransaction为您管理。