多个Fragment之间的切换
2016-03-16 23:53
387 查看
/*
* 跳转到某个fragment,并保存fragment的状态
*/
private void showFragment(int id) {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
hindFragment(transaction);
switch (id) {
case 1:
if (fragmentMain != null) {
transaction.show(fragmentMain);
} else {
fragmentMain = new MainFragment();
transaction.add(R.id.linear_layout_home_fragment, fragmentMain);
}
break;
case 2:
if (fragmentLookCar != null) {
transaction.show(fragmentLookCar);
} else {
fragmentLookCar = new LookCarFragment();
transaction.add(R.id.linear_layout_home_fragment,
fragmentLookCar);
}
break;
case 3:
if (fragmentShangCheng != null) {
transaction.show(fragmentShangCheng);
} else {
fragmentShangCheng = new ShangChengFragment();
transaction.add(R.id.linear_layout_home_fragment,
fragmentShangCheng);
}
break;
case 4:
if (personalCenterFragment != null) {
transaction.show(personalCenterFragment);
} else {
personalCenterFragment = new PersonalCenterFragment();
transaction.add(R.id.linear_layout_home_fragment,
personalCenterFragment);
}
break;
}
transaction.commit();
}
/*
* 隐藏fragment
*/
private void hindFragment(FragmentTransaction transaction) {
if (fragmentMain != null) {
transaction.hide(fragmentMain);
}
if (fragmentLookCar != null) {
transaction.hide(fragmentLookCar);
}
if (fragmentShangCheng != null) {
transaction.hide(fragmentShangCheng);
}
if (personalCenterFragment != null) {
transaction.hide(personalCenterFragment);
}
}
* 跳转到某个fragment,并保存fragment的状态
*/
private void showFragment(int id) {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
hindFragment(transaction);
switch (id) {
case 1:
if (fragmentMain != null) {
transaction.show(fragmentMain);
} else {
fragmentMain = new MainFragment();
transaction.add(R.id.linear_layout_home_fragment, fragmentMain);
}
break;
case 2:
if (fragmentLookCar != null) {
transaction.show(fragmentLookCar);
} else {
fragmentLookCar = new LookCarFragment();
transaction.add(R.id.linear_layout_home_fragment,
fragmentLookCar);
}
break;
case 3:
if (fragmentShangCheng != null) {
transaction.show(fragmentShangCheng);
} else {
fragmentShangCheng = new ShangChengFragment();
transaction.add(R.id.linear_layout_home_fragment,
fragmentShangCheng);
}
break;
case 4:
if (personalCenterFragment != null) {
transaction.show(personalCenterFragment);
} else {
personalCenterFragment = new PersonalCenterFragment();
transaction.add(R.id.linear_layout_home_fragment,
personalCenterFragment);
}
break;
}
transaction.commit();
}
/*
* 隐藏fragment
*/
private void hindFragment(FragmentTransaction transaction) {
if (fragmentMain != null) {
transaction.hide(fragmentMain);
}
if (fragmentLookCar != null) {
transaction.hide(fragmentLookCar);
}
if (fragmentShangCheng != null) {
transaction.hide(fragmentShangCheng);
}
if (personalCenterFragment != null) {
transaction.hide(personalCenterFragment);
}
}
相关文章推荐
- Ubuntu下的Android Studio某些开发问题
- 跳台阶
- 《FPGA NiosII篇》Part 1工程创建与注意点
- exit() 时或之后还能继续执行php代码的几种办法
- 重建二叉树
- js函数节流-性能-resize
- mysql外键,索引等基本操作 和 跨表复制数据操作
- mysql外键,索引等基本操作 和 跨表复制数据操作
- Library cache内部机制详解
- Linux-2.6.24移植到FL2440开发板
- 二维数组中的查找
- 气体传感器的引脚说明
- Library cache内部机制详解
- [置顶] Android开发错误汇总
- Redis学习(一)-基础理论、字符串命令、列表结构
- EditText去掉黄色背景颜色
- 最近用到的shell命令总结
- 多线程与双端队列结合使用,实现持久化任务(1)
- Web服务器磁盘满故障深入解析
- 初涉IPC,了解AIDL的工作原理及使用方法