Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓软键板碎片中的管理设备后退按钮_Android_Android Layout_Android Fragments_Android Edittext_Onbackpressed - Fatal编程技术网

Android 安卓软键板碎片中的管理设备后退按钮

Android 安卓软键板碎片中的管理设备后退按钮,android,android-layout,android-fragments,android-edittext,onbackpressed,Android,Android Layout,Android Fragments,Android Edittext,Onbackpressed,我在设备返回按钮中遇到一些问题。我正在创建一个片段,并使布局“可见”和“消失”,以逐步获得值。 比如,我没有创建5个片段,而是在片段上创建了5个片段,并利用布局的可见性来获得值。我有5个步骤(5个布局)。 现在我正试图控制设备的后退按钮。 布局有问题,其中包含EditText。如果我不点击Edittext,则后退按钮管理工作正常,但当我点击Edittext输入值,然后点击后退按钮时,它将退出片段。 我认为软键盘正在控制后退按钮。 行为应该是,当我点击后退按钮时,它将退出键盘,然后再次按下后退按钮

我在设备返回按钮中遇到一些问题。我正在创建一个片段,并使布局“可见”和“消失”,以逐步获得值。 比如,我没有创建5个片段,而是在片段上创建了5个片段,并利用布局的可见性来获得值。我有5个步骤(5个布局)。 现在我正试图控制设备的后退按钮。 布局有问题,其中包含EditText。如果我不点击Edittext,则后退按钮管理工作正常,但当我点击Edittext输入值,然后点击后退按钮时,它将退出片段。 我认为软键盘正在控制后退按钮。 行为应该是,当我点击后退按钮时,它将退出键盘,然后再次按下后退按钮,它不应该退出片段,它应该将控制权交给布局管理,我正在片段中执行的操作

下面是后退按钮管理的代码

@Override
public void onResume() {
    super.onResume();

    getView().setFocusableInTouchMode(true);
    getView().requestFocus();
    getView().setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {

            if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) {

                if (genderLayout.getVisibility() == View.VISIBLE) {
                    Toast.makeText(getActivity(), "You wanna Exit the Fragment Here", Toast.LENGTH_LONG).show();
                    if (getActivity().getSupportFragmentManager().getBackStackEntryCount() > 1) {
                        getActivity().getSupportFragmentManager().popBackStack();
                        return true;
                    }
                } else if (dobLayout.getVisibility() == View.VISIBLE) {
                                 dobLayout.setVisibility(View.GONE);
                    genderLayout.setVisibility(View.VISIBLE);
                    return true;
                } else if (heightLayout.getVisibility() == View.VISIBLE) {
                    heightLayout.setVisibility(View.GONE);
                    dobLayout.setVisibility(View.VISIBLE);
                    return true;
                } else if (weightLayout.getVisibility() == View.VISIBLE) {
                    weightLayout.setVisibility(View.GONE);
                    heightLayout.setVisibility(View.VISIBLE);
                    return true;
                } else if (excerciseLayout.getVisibility() == View.VISIBLE) {
                    excerciseLayout.setVisibility(View.GONE);
                    weightLayout.setVisibility(View.VISIBLE);
                    return true;
                }


            }

            return false;
        }
    });
}
现在我如何管理布局的后退按钮,该布局上有Edittext