Android应用UI开发中Fragment的常见用法小结

2019-12-10 19:00:10于海丽

2).通过Java代码
当Activity运行时,可以自由的在该activity上添加fragment对象,但应该指定一个ViewGroup容器,可以FragmentTransaction完成fragment的添加移除或者替换。

manager = getFragmentManager(); 
if(manager.findFragmentByTag("right") == null){ 
 manager.beginTransaction().replace(R.id.right, new RightFrag(), "right").commit(); 
} 

(3).fragment唯一标示符
每个fragment需要定义一个唯一的标识符,如果activity被销毁又重新启动,系统能够恢复该fragment的状态。如果想重新恢复,需满足下面有3种方式之一:
1).定义ID
在布局文件中,定义android:id属性

<fragment 
 android:id="@+id/list" 
 android:name="com.example.news.ArticleListFragment" 
 android:layout_width="0dp" 
 android:layout_height="match_parent" 
 android:layout_weight="1" /> 

2).指明tag
android:tag 指明 或者 一个fragment对象add()或者replace()时指定tag

<fragment 
 android:id="@+id/list" 
 android:tag="first" 
 android:name="com.example.news.ArticleListFragment" 
 android:layout_width="0dp" 
 android:layout_height="match_parent" 
 android:layout_weight="1" /> 

或者