从片段返回上一个片段的箭头按钮



我通过代码创建了返回箭头按钮

@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()来完成,但我不确定具体是如何完成的。感谢您提前提供帮助。

您需要确保两件事。

  1. 你的碎片应该正确地添加到背景中,这样当你在按下时弹出它们时,它会显示背景中的前一个碎片参考:安卓碎片手柄返回按钮按下

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

最新更新