[英]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()
来完成,但我不确定如何准确。 提前感谢您的帮助。
您需要确保两件事。
您的 Fragment 应正确添加到 backstack,这样当您在按下时弹出它们时,它会显示 backstack 中的前一个 Fragment 参考: Android Fragment handle back button press
您需要调用 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.