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