安卓关于fragment切换后继续运行的问题!

开发时,需要切换fragment后,不被暂停或销毁,以致下次切换回来后数据消失,实现方法很简单,先判断fragmnet是否启动,如果已经在队列中了,就直接显示,然后将旧的fragment隐藏,如果不存在,就创建,再将旧的隐藏,fragment的用法我就不贴了,上关键代码。

 

 

onTabchanged:

 

  public void onTabChanged(String tabId) {
     TabInfo newTab = mTabs.get(tabId);
        if (mLastTab != newTab) {
            FragmentTransaction ft = mActivity.getSupportFragmentManager().beginTransaction();  
            ft.setCustomAnimations(R.anim.fade_in, R.anim.fade_out);
                if (mLastTab != null) {
                if (mLastTab.fragment != null) {
                    ft.hide(mLastTab.fragment);
                }
            }

            if (newTab != null&&newTab.fragment == null) {
                newTab.fragment = Fragment.instantiate(mActivity,
                        newTab.clss.getName(), newTab.args);
                ft.add(mContainerId, newTab.fragment, newTab.tag);
            }
            else {
                ft.show(newTab.fragment);
            }
            mLastTab = newTab;
            ft.commit();
        }
    
    }

posted @ 2013-09-25 23:05  gsdxlyw2  阅读(328)  评论(0)    收藏  举报