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?