繁体   English   中英

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

[英]Back arrow button from fragment to previous fragment

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

    @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;
    }

当按下后退箭头时,我无法将 go 的功能返回到前一个片段。 我已经看到它应该使用方法handleOnBackPressed()来完成,但我不确定如何准确。 提前感谢您的帮助。

您需要确保两件事。

  1. 您的 Fragment 应正确添加到 backstack,这样当您在按下时弹出它们时,它会显示 backstack 中的前一个 Fragment 参考: Android Fragment handle back button press

  2. 您需要调用 Activity 的 onBackPressed 来检查片段是否是要弹出的正确实例 参考: https://stackoverflow.com/a/46425415/980898

在你的包含这个片段的活动中你可以写这个

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM