android fragmengt 单例

来源:互联网 发布:炫浪网络不能在线阅读 编辑:程序博客网 时间:2024/05/14 19:01

项目中用到要tab切换界面  于是使用到了  fragment  由于涉及到网络请求 所以  使用到了fragment 单例    

代码如下

先要初始化

private FragmentManager fm;

  fm = getSupportFragmentManager();

  

显示方法

public void showFragment(int index) {    FragmentTransaction ft = fm.beginTransaction();    // 想要显示一个fragment,先隐藏所有fragment,防止重叠    hideFragments(ft);    switch (index) {    case 1:      // 如果mUserMCollectFragment已经存在则将其显示出来      if (mUserMCollectFragment != null)        ft.show(mUserMCollectFragment);      // 否则是第一次切换则添加mUserMCollectFragment,注意添加后是会显示出来的,replace方法也是先remove后add      else {      mUserMCollectFragment = new UserMCollectFragment();        ft.add(R.id.user_message_fragment, mUserMCollectFragment);      }      break;    case 2:      if (mUserMPostFragment != null)        ft.show(mUserMPostFragment);      else {      mUserMPostFragment = new UserMPostFragment();        ft.add(R.id.user_message_fragment, mUserMPostFragment);      }      break;    }    ft.commit();  }


其中有个 隐藏  hideFragment(ft);逻辑如下

public void hideFragments(FragmentTransaction ft) {    if (mUserMCollectFragment != null)      ft.hide(mUserMCollectFragment);    if (mUserMPostFragment != null)      ft.hide(mUserMPostFragment);     }
调用的时候  只要 使用

showFragment(1);

就可以了
mUserMCollectFragment  <pre name="code" class="java">mUserMPostFragment
分别是两个Fragment
 


0 0
原创粉丝点击