1.定义接口
新创建接口类
public interface FragmentBackListener { void onbackForward(); }
2.在Activity中使用
private FragmentBackListener backListener; private boolean isInterception = false;
public FragmentBackListener getBackListener() { return backListener; } public void setBackListener(FragmentBackListener backListener) { this.backListener = backListener; } public boolean isInterception() { return isInterception; } public void setInterception(boolean isInterception) { this.isInterception = isInterception; } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if (isInterception()) { if (backListener != null) { backListener.onbackForward(); return false; } } } return super.onKeyDown(keyCode, event); }
3.在fragment中使用
首先实现第一步创建的接口
在接口中实现返回逻辑
@Override public void onbackForward() { if(window != null && window.isShowing()){ window.dismiss(); mBottomView.setVisibility(View.GONE); }else { getActivity().finish(); } }
本文介绍了一种在Android应用中自定义Fragment返回行为的方法。通过定义接口`FragmentBackListener`并实现在Activity与Fragment间传递返回请求,可以灵活地控制应用内的返回流程,例如关闭对话框或结束当前活动。

805

被折叠的 条评论
为什么被折叠?



