android 多个Fragment切换时的注意事项

Posted IyangcLove

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 多个Fragment切换时的注意事项相关的知识,希望对你有一定的参考价值。

android 中多个Fragment进行切换时 ,如图 tab 切换 导航栏。  

 

  FragmentManager 获取到的FragmentTransaction对象  不能执行多次commit() 否则会报异常 。可以通过 获取不同的事务对象 进行事务的提交。主要代码:

FragmentTransaction ft;
FragmentManager fm;
    //Fragment 对象
	FragPrice fragPrice;   
	FragMsg fragMsg;
	FragSetting fragSetting;
      @Override
		public void onClick(View v) 
			fm = getSupportFragmentManager();
			ft = fm.beginTransaction();
			switch (v.getId()) 
			case R.id.barbottom_btn_left: // 价格表
						fragPrice = new FragPrice();
						ft.replace(R.id.fl_replace, fragPrice);// 替换当前显示的页面
                                                ft.addToBackStack(null);//添加此方法后 按返回键 会返回上次操作的fragment界面,如果多个fragment 切换后需要灵活运用添加 
                                                ft.commit();                                     
                                           
                        case R.id.barbottom_btn_center: // 消息列表                                                            <pre name="code" class="java">                                               fragMsg =new FragMsg();
 ft.replace(R.id.fl_replace, fragMsg);// 替换当前显示的页面
                 ft.commit();// 提交
                
                break;
            case R.id.barbottom_btn_right: // 设置            
                                               fragSetting=new FragSetting();
                ft.replace(R.id.fl_replace, fragSetting);// 替换当前显示的页面
                 ft.commit();// 提交
                
                 break;
            




   

 关于ft.addToBackStack(null),可以参考一下:
http://blog.csdn.net/jwzhangjie/article/details/27326039   。还有就是在fragment中进行数据的更新 :例如 图片更新 ,消息记录更新等  可以在Activity 中发送广播 fragment中接收广播 进行处理。 直接更新是不会有效果的 我之前写过一篇 文章 可供参考:
http://blog.csdn.net/yangbo437993234/article/details/36503643  



以上是关于android 多个Fragment切换时的注意事项的主要内容,如果未能解决你的问题,请参考以下文章

Android:多个Fragment切换问题/切换动画设置

android中Fragment的切换方法。

Android Fragment实现button间的切换

Android 一个Activity 里面放置多个 Fragment 实现点击切换的Tab 页面效果

Android Fragment

Android Viewpager加Fragment做界面切换时数据消失的解决方式