胸怀万里世界, 放眼无限未来。这篇文章主要讲述Android开发之Fragment的替换显示相关的知识,希望能为你提供帮助。
一般写程序时我们都是得到FragmentManager,然后开启一个事务,然后进行Fragment的替换,然后提交事务。
//1.得到FragmentManger FragmentManager fm = getSupportFragmentManager(); ////2.开启事务 FragmentTransaction transaction = fm.beginTransaction(); ////3.替换 transaction.replace(R.id.fl_content, fragment); ////4.提交事务 transaction.commit();
但是,在实际的开发中,这种方式会导致Fragment的频繁创建,消耗用户的流量,所有提出以下优化:
就是用Add()和Hide() ,讲之前的Fragment隐藏,然后把要显示的Fragment添加进去,当要显示之前那个Fragment的时候,直接show()出来就可以了。
private void switchFrament(Fragment from,Fragment to) { if(from != to){ mContent = to; FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); //才切换 //判断有没有被添加 if(!to.isAdded()){ //to没有被添加 //from隐藏 if(from != null){ ft.hide(from); } //添加to if(to != null){ ft.add(R.id.fl_content,to).commit(); } }else{ //to已经被添加 // from隐藏 if(from != null){ ft.hide(from); } //显示to if(to != null){ ft.show(to).commit(); } } }}
【Android开发之Fragment的替换显示】提示:记得在add() Fragment的时候判断是否为null.
推荐阅读
- Android EditText中输入价格判断
- 安卓开源项目周报0222
- Rest API和Web Socket API之间的区别
- HTML DOM输入电子邮件自动对焦属性
- PHP Ds\Sequence remove()函数用法示例
- Redpine Signals,Inc海得拉巴面试经历|S1
- Linux中的Gzip命令用法介绍和示例
- double_click方法– Selenium Python中的动作链
- 光学计算概论(介绍、优点和缺点)