1.2fragment的基本使用
1.切换依赖FragmentTransaction
fm=getFragmentManager();
FragmentTransaction fragmentTransaction=fm.beginTransaction();
...
fragmenttransaction.commit();
2.fragment的切换方式
add、replace(移除其他fragment,会销毁其他frament,在添加新的fragment)、remove
hide、show(占用内存,但现在手机内存比较大,推荐使用)
detach、attact(销毁fragment的view,但不会销毁fragment),特别不推荐的方式,没释放多少内存,页面重建时,还需要重建view
3.fragment切换使用模板
实例
/**ui声明*/
protected void onCreate(){
//初始化所有ui
//添加默认要显示的fragment
mHomeFragment=new HomeFragment();
fm=getFragmentManager();
FragmentTransaction fragmentTransaction=fm.beginTransaction();
fragmenttransaction.commit();
}
/**初始化ui,添加点击事件*/
private void initView(){
}
public void onClick(View v){
FragmentTransaction fragmentTransaction=fm.beginTransaction();
fragmenttransaction.commit();
switch(v.getId()){
}
//点击时显示(若未创建先创建),隐藏其他
if(mHomeFragment ==null){
mHomeFragment=new HomeFragment();
fragmentTransaction.add(R.id.content_layout,mHomeFragment);
}else{
fragment.show(mHomeFragment)
}
}
/**隐藏其他fragment*/
private void hideFragment(Fragement fragment,FragmnetTransation ft){
if(fragment!=null){
ft.hide(fragment);
}
}
Last updated
Was this helpful?