android.support.v4.app.Fragment.isDetached()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(8.6k)|赞(0)|评价(0)|浏览(153)

本文整理了Java中android.support.v4.app.Fragment.isDetached()方法的一些代码示例,展示了Fragment.isDetached()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Fragment.isDetached()方法的具体详情如下:
包路径:android.support.v4.app.Fragment
类名称:Fragment
方法名:isDetached

Fragment.isDetached介绍

[英]Return true if the fragment has been explicitly detached from the UI. That is, FragmentTransaction#detach(Fragment) has been used on it.
[中]如果片段已从UI显式分离,则返回true。也就是说,FragmentTransaction#detach(Fragment)已在其上使用。

代码示例

代码示例来源:origin: square/assertj-android

public S isDetached() {
 isNotNull();
 assertThat(actual.isDetached()) //
   .overridingErrorMessage("Expected detached but was not detached") //
   .isTrue();
 return myself;
}

代码示例来源:origin: square/assertj-android

public S isNotDetached() {
 isNotNull();
 assertThat(actual.isDetached()) //
   .overridingErrorMessage("Expected not detached but was detached") //
   .isFalse();
 return myself;
}

代码示例来源:origin: seven332/EhViewer

(launchMode == SceneFragment.LAUNCH_MODE_SINGLE_TASK || !fragment.isDetached())) {
scene = (SceneFragment) fragment;
findScene = true;
createNewScene = false;
findSceneTag = tag;
if (fragment.isDetached()) {
  transaction.attach(fragment);

代码示例来源:origin: bumptech/glide

private void helpTestSupportCanGetRequestManagerFromDetachedFragment() {
 FragmentActivity activity =
   Robolectric.buildActivity(FragmentActivity.class).create().start().resume().get();
 Fragment fragment = new Fragment();
 activity.getSupportFragmentManager().beginTransaction().add(fragment, PARENT_TAG)
   .detach(fragment).commit();
 activity.getSupportFragmentManager().executePendingTransactions();
 assertTrue(fragment.isDetached());
 retriever.get(fragment);
}

代码示例来源:origin: seven332/EhViewer

if (fragment.isDetached()) {
  transaction.attach(fragment);

代码示例来源:origin: com.uphyca/android-junit4-robolectric

/**
 * @return
 * @see android.support.v4.app.Fragment#isDetached()
 */
public final boolean isDetached() {
  return mFragment.isDetached();
}

代码示例来源:origin: Appolica/TabControllerAndroid

@Override
  public boolean isVisible(Fragment fragment) {
    return !fragment.isDetached();
  }
}

代码示例来源:origin: stackoverflow.com

final FragmentManager fm = mHostingActivity.getSupportFragmentManager();
   fm.addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() {
     @Override
     public void onBackStackChanged() {
       if (fm.getBackStackEntryCount() == 0) {
         Fragment fragmentB = fm.findFragmentByTag("FragmentB");
         Fragment fragmentC =  fm.findFragmentByTag("FragmentC");
         if (fragmentB != null) {
           //Hmm force detach here rather than when we pop via the up affordance
           if (!fragmentB.isDetached())
             fm.beginTransaction().detach(fragmentB).commit();
         }
         if (fragmentC != null) {
           if (!fragmentC.isDetached())
             fm.beginTransaction().detach(fragmentC).commit();
         }
         //Listened for any changes after re-entering the FragmentA so we can remove the listener
         fm.removeOnBackStackChangedListener(this);
       }
     }
   });

代码示例来源:origin: stackoverflow.com

public void activate(FragmentTransaction ft, Fragment f, String tag, int resId) {
  boolean changed =   resId != f.getId();

  if (changed && (f.isAdded() || f.isDetached())) {
    ft.remove(f);
    ft.add(resId, f, tag);
    return;
  }

  // Currently in a detached mode
  if (f.isDetached()) {
    ft.attach(f);
    return;
  }

  // Not in fragment manager add
  if (!f.isAdded() && ! f.isDetached()) {
    ft.add(resId, f, tag);
    return;
  }
}

代码示例来源:origin: Coinomi/coinomi-android

@Override
public void handleMessage(Message msg) {
  T ref = reference.get();
  if (ref != null) {
    // Do not call if is a detached fragment
    if (ref instanceof Fragment) {
      Fragment f = (Fragment) ref;
      if (f.isRemoving() || f.isDetached() || f.getActivity() == null) return;
    }
    weakHandleMessage(ref, msg);
  }
}

代码示例来源:origin: stackoverflow.com

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
 super.onActivityResult(requestCode, resultCode, data);

 // notifying nested fragments (support library bug fix)
 final FragmentManager childFragmentManager = getChildFragmentManager();

 if (childFragmentManager != null) {
  final List < Fragment > nestedFragments = childFragmentManager.getFragments();

  if (nestedFragments == null || nestedFragments.size() == 0) return;

  for (Fragment childFragment: nestedFragments) {
   if (childFragment != null && !childFragment.isDetached() && !childFragment.isRemoving()) {
    childFragment.onActivityResult(requestCode, resultCode, data);
   }
  }
 }
}

代码示例来源:origin: openwalletGH/openwallet-android

@Override
public void handleMessage(Message msg) {
  T ref = reference.get();
  if (ref != null) {
    // Do not call if is a detached fragment
    if (ref instanceof Fragment) {
      Fragment f = (Fragment) ref;
      if (f.isRemoving() || f.isDetached() || f.getActivity() == null) return;
    }
    weakHandleMessage(ref, msg);
  }
}

代码示例来源:origin: openbmap/radiocells-scanner-android

public void addTab(final TabHost.TabSpec tabSpec, final Class<?> clss, final Bundle args) {
  tabSpec.setContent(new DummyTabFactory(mActivity));
  final String tag = tabSpec.getTag();
  final TabInfo info = new TabInfo(tag, clss, args);
  // Check to see if we already have a fragment for this tab, probably
  // from a previously saved state. If so, deactivate it, because our
  // initial state is that a tab isn't shown.
  info.fragment = mActivity.getSupportFragmentManager().findFragmentByTag(tag);
  if (info.fragment != null && !info.fragment.isDetached()) {
    final FragmentTransaction ft = mActivity.getSupportFragmentManager().beginTransaction();
    ft.detach(info.fragment);
    ft.commit();
  }
  mTabs.put(tag, info);
  mTabHost.addTab(tabSpec);
}

代码示例来源:origin: aartikov/Alligator

@Override
  public Animation onCreateAnimation(int transit, boolean enter, int nextAnim) {
    if (getParentFragment() != null && getParentFragment().isDetached()) {
      return AnimationUtils.loadAnimation(getContext(), R.anim.stay);
    }
    return super.onCreateAnimation(transit, enter, nextAnim);
  }
}

代码示例来源:origin: JmStefanAndroid/PVCloudGroupn

public void addTab(TabSpec tabSpec, Class<?> clss, Bundle args) {
    tabSpec.setContent(new DummyTabFactory(mContext));
    String tag = tabSpec.getTag();

    TabInfo info = new TabInfo(tag, clss, args);

    if (mAttached) {
      // If we are already attached to the window, then check to make
      // sure this tab's fragment is inactive if it exists. This shouldn't
      // normally happen.
      info.fragment = mFragmentManager.findFragmentByTag(tag);
      if (info.fragment != null && !info.fragment.isDetached()) {
        FragmentTransaction ft = mFragmentManager.beginTransaction();
//                ft.detach(info.fragment);
        ft.hide(info.fragment);
        ft.commit();
      }
    }

    mTabs.add(info);
    addTab(tabSpec);
  }

代码示例来源:origin: gaolhjy/enjoyshop

public void addTab(TabSpec tabSpec, Class<?> clss, Bundle args) {
  tabSpec.setContent(new DummyTabFactory(mContext));
  String tag = tabSpec.getTag();
  TabInfo info = new TabInfo(tag, clss, args);
  if (mAttached) {
    // If we are already attached to the window, then check to make
    // sure this tab's fragment is inactive if it exists. This shouldn't
    // normally happen.
    info.fragment = mFragmentManager.findFragmentByTag(tag);
    if (info.fragment != null && !info.fragment.isDetached()) {
      FragmentTransaction ft = mFragmentManager.beginTransaction();
      //				ft.detach(info.fragment);
      ft.hide(info.fragment);
      ft.commit();
    }
  }
  mTabs.add(info);
  addTab(tabSpec);
}

代码示例来源:origin: kingargyle/adt-leanback-support

public void addTab(TabHost.TabSpec tabSpec, Class<?> clss, Bundle args) {
  tabSpec.setContent(new DummyTabFactory(mContext));
  String tag = tabSpec.getTag();
  TabInfo info = new TabInfo(tag, clss, args);
  if (mAttached) {
    // If we are already attached to the window, then check to make
    // sure this tab's fragment is inactive if it exists.  This shouldn't
    // normally happen.
    info.fragment = mFragmentManager.findFragmentByTag(tag);
    if (info.fragment != null && !info.fragment.isDetached()) {
      FragmentTransaction ft = mFragmentManager.beginTransaction();
      ft.detach(info.fragment);
      ft.commit();
    }
  }
  mTabs.add(info);
  addTab(tabSpec);
}

代码示例来源:origin: zhujun2730/WeiKanDian

public void addTab(TabSpec tabSpec, Class<?> clss, Bundle args) {
    tabSpec.setContent(new DummyTabFactory(mContext));
    String tag = tabSpec.getTag();

    TabInfo info = new TabInfo(tag, clss, args);

    if (mAttached) {
      // If we are already attached to the window, then check to make
      // sure this tab's fragment is inactive if it exists. This shouldn't
      // normally happen.
      info.fragment = mFragmentManager.findFragmentByTag(tag);
      if (info.fragment != null && !info.fragment.isDetached()) {
        FragmentTransaction ft = mFragmentManager.beginTransaction();
//                ft.detach(info.fragment);
        ft.hide(info.fragment);
        ft.commit();
      }
    }

    mTabs.add(info);
    addTab(tabSpec);
  }

代码示例来源:origin: oVirt/moVirt

@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
  if (position == fragmentPosition.ordinal()) {
    Fragment fragment = getSupportFragmentManager().getFragments().get(fragmentPosition.ordinal());
    if (fragment != null && fragment instanceof BaseListFragment && !fragment.isDetached()) {
      BaseListFragment baseListFragment = (BaseListFragment) fragment;
      final BaseListFragmentContract.Presenter presenter = baseListFragment.getPresenter();
      if (presenter != null) {
        presenter.setSelection(orderBy, order);
      }
    }
    viewPager.setOnPageChangeListener(null);
  }
}

代码示例来源:origin: stackoverflow.com

public static boolean isSafeFragment( Fragment frag )
{
  return !(frag.isRemoving() || frag.getActivity() == null || frag.isDetached() || !frag.isAdded() || frag.getView() == null );   
}

相关文章

微信公众号

最新文章

更多

Fragment类方法