我通过代码创建了返回箭头按钮
@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()
来完成,但我不确定具体是如何完成的。感谢您提前提供帮助。
您需要确保两件事。
-
你的碎片应该正确地添加到背景中,这样当你在按下时弹出它们时,它会显示背景中的前一个碎片参考:安卓碎片手柄返回按钮按下
-
您需要调用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);
}