Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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
Java 从片段到上一片段的后退箭头按钮_Java_Android_Android Fragments - Fatal编程技术网

Java 从片段到上一片段的后退箭头按钮

Java 从片段到上一片段的后退箭头按钮,java,android,android-fragments,Java,Android,Android Fragments,我通过代码创建了后退箭头按钮: @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { ((AppCompatActivity) getActivity()).getSupportActionBar().setDisp

我通过代码创建了后退箭头按钮:

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        ((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        View rootView = inflater.inflate(R.layout.w_output_power, container, false);

        calculatePower(rootView);

        return rootView;
    }

当按下后退箭头时,我无法实现返回到上一个片段的功能。我知道应该使用方法
handleOnBackPressed()
来完成,但我不确定具体是如何完成的。提前感谢您的帮助。

您需要确保两件事

  • 你的片段应该被正确地添加到backbackback中,这样当你在按backbackback时弹出它们时,它就会显示backbackback中的前一个片段 参考:

  • 您需要调用Activity的onBackPressed,在这里您需要检查片段是否是要弹出的正确实例 参考:


  • 在你保存这个片段的活动中,你可以写这个

      @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()) {
                case android.R.id.home:
                    onBackPressed();
                    break;
            }
            return super.onOptionsItemSelected(item);
        }
    

    你在使用导航组件吗?不,我没有使用导航组件@MustafaKhaled