fragment +切換/
切換的原理是隱藏和顯示fragment腺劣,fragment不需要重新加載旬蟋。若有數(shù)據(jù)更新最好加上手動刷新
mFragments = new Fragment[3];
//mFragments[0] = new NotificationFragment();// 公告fragment
//mFragments[0] = new MessageFragment();
mFragments[0] = new Chattacts_Fragment();// 消息Fragment----替換為--群組聯(lián)系人列表
mFragments[1] = new MapsFragment();// GisFragment
mFragments[2] = new ManuscriptFragment();// 建稿fragment---替換為--通話記錄列表
// mFragments[4] = new SettingFragment();// 設(shè)置fragment
/**
* @param fragment的管理
*/
public void changeTag(int index){
currentIndex = index;
FragmentTransaction ft = fragmentManager.beginTransaction();
if(null!=mCurrentFrgment){
ft.hide(mCurrentFrgment);
}
//先根據(jù)Tag從FragmentTransaction事物獲取之前添加的Fragment
Fragment fragment = getSupportFragmentManager().
findFragmentByTag(mFragments[currentIndex].getClass().getName());
if (null == fragment) {
//如fragment為空灯变,則之前未添加此Fragment扣猫。便從集合中取出
fragment = mFragments[index];
}
mCurrentFrgment = fragment;
//判斷此Fragment是否已經(jīng)添加到FragmentTransaction事物中
if (!fragment.isAdded()) {
ft.add(R.id.mapframelayout, fragment, fragment.getClass().getName());
} else {
ft.show(fragment);
}
ft.commit();
}
隨后整理demo 更新菜循。。申尤。