Android -实现切换页片段功能的实现代码

  

场景:使用片段实现切页。
  

  

类结构:
  

  

 Android -实现切换页片段功能的实现代码

  


  

  

活动中使用getSupportFragmentManager () .beginTransaction()来填充一个片段(管理用的FragmentA)
  

  

活动部分代码:
  

        FragmentA片段=FragmentA.newInstant(空);   .beginTransaction getSupportFragmentManager()()阀门(R.id.f_tab_fragment片段).commit ();之前      

XML:
  

        & lt; FrameLayout   android: id=癅 + id/fl_container”   android: layout_width=" match_parent "   android: layout_above=癅 + id/f_tab_fragment”   android: layout_height=" match_parent "/比;      & lt; FrameLayout   android: id=癅 + id/f_tab_fragment”   android: layout_width=" match_parent "   android: layout_height=" 52 dp "   android: layout_alignParentBottom=" true "/比;   之前      


  

  

加载一个主FragmentA,作为管理其它子叶片FragmentX。
  

  

现在比如有两个子叶片FragmentB, FragmentC。
  

  

FragmentA使用FragmentManager和FragmentTransaction管理FragmentB, FragmentC的切换,
  

  

FragmentA代码:
  

        公开课FragmentA延伸BaseFragment {      私有静态最终字符串TAB_HOME=com.timediffproject.module.home.MyMainFragment.class.getName ();      私有静态最终字符串TAB_TEST=com.timediffproject.module.home.TestFragment.class.getName ();      私人BaseFragment mLastShowFragment;      私有静态TabFragment片段;      公共静态TabFragment newInstant(捆包){   如果(片段==null) {   片段=new TabFragment ();   fragment.setArguments(包);   }   返回片段;   }      @Override   公共空间>   & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt; LinearLayout xmlns: android=" http://schemas.android.com/apk/res/android "   面向android:="水平" android: layout_width=癿atch_parent”   android: layout_height=?2 dp”比;      & lt;按钮   android: id=癅 + id/btn_change_home”   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "   android:文本="切换家”/比;      & lt;按钮   android: id=癅 + id/btn_change_test”   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "   android:文本="切换测试”/比;      & lt;/LinearLayout>      之前      


  

  

子页的逻辑根据具体业务自己定义,实现与一般Fragmeng一样
  

  

,例如:
  

        公开课TestFragment延伸BaseFragment {      @Nullable   @Override   公众视线alt=" Android -实现切换片段页功能的实现代码”>,

  

 Android -实现切换页片段功能的实现代码

  

PS:实现过程中出现的错误,
  

  

代码如下:
  . lang。IllegalStateException:指定的孩子已经有了父母。你必须调用removeView ()>   @Nullable   @Override   公众视线onCreateView (LayoutInflater增压泵,ViewGroup容器,包savedInstanceState) {//这里正确的写法是://返回inflater.inflate (R.layout.fragment_test,容器,假);   返回inflater.inflate (R.layout.fragment_test、容器);   }      

,以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Android -实现切换页片段功能的实现代码