概述
动态引入
//1.创建Fragment的管理对象
FragmentManager fragmentManager = getSupportFragmentManager();
//2.获取Fragment的事务对象并且开启事务
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
//3.调用事务中动态操作fragment的方法执行 add(添加到哪里,需要添加的fragment对象);
fragmentTransaction.add(R.id.frameLayout,new TimeFragment());
//4.提交事务
fragmentTransaction.commit();
- kotlin中
supportFragmentManager.beginTransaction().replace(R.id.flSearchResultContainer,fragment)
.commitAllowingStateLoss()
静态引入,通过xml
<fragment
android:id="@+id/fragment"
android:name="com.ZhangYu.Core.fragment.TimeFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
- 静态引入情况下,可以通过findFragmentById找到
//静态引入情况下,可以通过findFragmentById找到
IdCardFragment frontFragment =
(IdCardFragment) getSupportFragmentManager().findFragmentById(R.id.fragment_card_front);
动态引入会有残影问题
- 可能使用了commitNow
可以替换为commitAllowingStateLoss
supportFragmentManager.beginTransaction()
.replace(R.id.flSearchResultContainer,fragment)
.commitAllowingStateLoss()
最后
以上就是紧张香菇为你收集整理的Fragment的动态引入和静态引入到Activity中的全部内容,希望文章能够帮你解决Fragment的动态引入和静态引入到Activity中所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复