返回上一个片段选项卡(KEYCODE_BACK)

时间:2016-09-06 14:34:21

标签: android fragment keycode

移回上一个片段标签(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;
                }
            }
    });

1 个答案:

答案 0 :(得分:0)

如果使用addToBackstack打开新片段,它应该在没有键控侦听器的情况下工作。 fragmentTransaction为您管理。