底部多个按钮切换Fragment,不重新实例化简单方法!
来源:互联网 发布:编程图标素材 编辑:程序博客网 时间:2024/06/06 00:19
记录下切换fragment不重新实例化的方法:像淘宝 京东都是这样的效果.
private WarnFragment mWarnFragment; //申明3个fragment //我的 private MyselfFragment mMyselfFragment; //预警 private CloudFragment mCloudFragment; //云//点击事件mMainRbCloud.setOnClickListener(this); mMainRbWarn.setOnClickListener(this); mMainRbMine.setOnClickListener(this);//默认选中第一个setTabSelected(0);//点击事件@Override public void onClick(View v) { switch (v.getId()) { case R.id.main_rb_cloud: setTabSelected(0); break; case R.id.main_rb_warn: setTabSelected(1); break; case R.id.main_rb_mine: setTabSelected(2); break; } }//显示fragment private void setTabSelected(int index) { FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); hideFragments(transaction);//先隐藏所有的fragment switch (index) { case 0: if(mCloudFragment == null) { mCloudFragment = new CloudFragment(); transaction.add(R.id.main_fr_content,mCloudFragment); } else { transaction.show(mCloudFragment); } break; case 1: if(mWarnFragment == null) { mWarnFragment = new WarnFragment(); transaction.add(R.id.main_fr_content,mWarnFragment); } else { transaction.show(mWarnFragment); } break; case 2: if(mMyselfFragment == null) { mMyselfFragment = new MyselfFragment(); transaction.add(R.id.main_fr_content,mMyselfFragment); } else { transaction.show(mMyselfFragment); } break; } transaction.commit(); } //隐藏所有fragment防止显示多个 private void hideFragments(FragmentTransaction transaction) { if(mCloudFragment!=null) { transaction.hide(mCloudFragment); } if(mWarnFragment!=null) { transaction.hide(mWarnFragment); } if(mMyselfFragment!=null) { transaction.hide(mMyselfFragment); } }
上面是核心代码, 具体要切换按钮的状态,自己随意写.
0 0
- 底部多个按钮切换Fragment,不重新实例化简单方法!
- 多个Fragment 切换时不重新实例化
- 多个Fragment 切换时不重新实例化
- 多个Fragment 切换时不重新实例化
- 多个Fragment 切换时不重新实例化
- Android - 多个Fragment切换不重新实例化
- 多个Fragment切换时不重新实例化的方法
- 多个Fragment切换时不重新生成实例
- hide和show方法实现fragment切换且不重新实例化
- 让多个Fragment 切换时不重新实例化
- 让多个Fragment 切换时不重新实例化
- 让多个Fragment 切换时不重新实例化
- 让多个Fragment 切换时不重新实例化
- 让多个Fragment 切换时不重新实例化
- 让多个Fragment 切换时不重新实例化
- 让多个Fragment 切换时不重新实例化
- 让多个Fragment 切换时不重新实例化
- 让多个Fragment 切换时不重新实例化
- 【学习笔记】系列十六:Ant单元测试TestNG
- jquery的$().each,$.each的区别
- ES权威指南_06_Modeling Your Data_04 Designing for Scale
- 更好的理解分析深度卷积神经网络
- split: option '--numeric-suffixes' doesn't allow an argument的解决方法
- 底部多个按钮切换Fragment,不重新实例化简单方法!
- 手把手用原生JS代码实现css属性的set和get
- Struts2入门示例教程
- 高内聚 低耦合
- D的小L (全排列)
- pyexcel_xls (Python第三方包)
- ES权威指南_07_admin monitor deploy_01 Monitoring
- CListCtrl控件的基本使用方法
- 删除数据库用户时,数据库主体在该数据库中拥有 架构,无法删除解决方法