关闭一个Fragment 的方法:

方法一:回退栈的方法,通过tag,关闭特定的Fragment

popBackStack(arg0,arg1)

arg0:回退fragment的标记tag

arg1:是否包含该fragment.(0不包含,1包含)

示例:

    private void finishFragment() {        List fragments = getFragmentStack();        int len = fragments.size();        for (int i = len - 1; i > 0; i--) {            Fragment fragment = fragments.get(i);            if (fragment instanceof PointHistoryFragment) {                getFragmentManager().popBackStack("PointHistoryFragment", FragmentManager.POP_BACK_STACK_INCLUSIVE);            }        }    }

方法二:通过remove的方式

private void finishFragment() {        List fragments = getFragmentStack();        int len = fragments.size();        for (int i = len - 1; i > 0; i--) {            Fragment fragment = fragments.get(i);            if (fragment instanceof PointHistoryFragment) {                getFragmentManager().beginTransaction().remove(fragment).commit();            }        }    }

方法三:(不建议使用这一种方法,会把栈顶的Fragment关闭),会对其他的模块产生影响

  getFragmentManager().popBackStackImmediate();

 

更多相关文章

  1. Android如何判断设备为Pad?
  2. Android开发之屏幕元素层次结构
  3. Android启动关闭Activity
  4. Android(安卓)飞行模式的设置(打开/关闭飞行模式,获取飞行状态状
  5. Android(安卓)开发艺术探索之二 -- IPC 机制
  6. context上下文
  7. android wap push实现
  8. 如何控制android中ImageView的位置
  9. Android——一分钟学会使用实时模板Live Template

随机推荐

  1. Android知识体系总结2020之Android部分对
  2. 利用JDBC连接服务器数据库(Android)
  3. Android APP整合微信分享
  4. Android应用程序键盘(Keyboard)消息处理机
  5. 安卓自定义interpolator
  6. 告别onActivityResult,拥抱ActivityResult
  7. Ubuntu16.04系统中安装Android studio并
  8. android之用Terminal操作litepal
  9. android条形码编解码
  10. 介绍桌面widgets和AppWidget框架