Fragment 的hide()与show()
来源:互联网 发布:网络方案 编辑:程序博客网 时间:2024/05/16 04:34
今天学习了Fragment 的hide()与show()
第一种方法:利用TAG标记位实现与隐藏的方法 记下来 以免遗忘
private void updateFragment(Class<? extends android.support.v4.app.Fragment> cls,String TAG) { FragmentTransaction transaction = fragmentManager.beginTransaction(); if(cacheFragment!=null){ transaction.hide(cacheFragment); Log.e(TAG, "我隐藏了" ); } cacheFragment = fragmentManager.findFragmentByTag(TAG); if(cacheFragment!=null){ transaction.show(cacheFragment); Log.e(TAG, "我显示了" ); }else{ try { cacheFragment = cls.getConstructor().newInstance(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } transaction.add(R.id.container,cacheFragment,TAG); } transaction.commit(); }
第二种方法:先实例化所有的Fragment,然后判断显示隐藏
public void switchContent(android.support.v4.app.Fragment from, android.support.v4.app.Fragment to) { if (cacheFragment != to) { cacheFragment = to; FragmentTransaction transaction = fragmentManager.beginTransaction(); if (to.isAdded()) { // 先判断是否被add过 transaction.hide(from).show(to).commit(); // 隐藏当前的fragment,显示下一个 } else { transaction.hide(from).add(R.id.container, to).commit(); // 隐藏当前的fragment,add下一个到Activity中 } } }
第二种相对于第一种,当在处理网络请求的时候会在初始化的时候耗费太多资源,二第一种是想要什么就加载什么,
第一种是利用反射来创建实例可以防止创建无用对象,浪费资源
0 0
- Fragment 的hide()与show()
- Fragment的show与hide
- Fragment切换 hide/show 生命周期的运用
- Fragment的show,add,hide使用
- Android中Fragment的Hide和Show
- fragment hide/show 生命周期
- Fragment show hide,replace
- Fragment Hide and Show
- Fragment show和hide
- 用Fragment的Hide()与Show()来代替Fragment的Replace()。
- 【Fragment】fragment之间的切换,add、show、hide
- Fragment Hide() Show()切换实例
- Fragment add hide show方式
- Android中Fragment的hide和show的一些技巧
- fragment 的repalce方法和hide和show
- Android开发-fragment切换、hide、show、fragmentmanager的基础应用
- Fragment hide show方法后的生命周期方法调用
- Android Fragment使用hide和show方法的问题
- 关闭百度推荐搜索工具条的方法。。
- C++静态
- java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind 【 解决方案】
- http post get请求
- 算法导论编程第2章 插入排序
- Fragment 的hide()与show()
- arduino 控制led灯亮度强弱变化的经典代码
- 字符串是否互为旋转
- mysql5.6.25及以上下载衔接
- FTxxxx系列------selftest
- tcpdump抓包二进制tcp协议详细分析
- 操作系统常见面试题总结
- simpleDateFormate 24小时 格式串
- error c4996: 'fopen': This function or variable may be unsafe