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

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

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

Fragment.hashCode介绍

[英]Subclasses can not override hashCode().
[中]子类不能重写hashCode()。

代码示例

代码示例来源:origin: heinrichreimer/material-intro

@Override
public int hashCode() {
  int result = fragment != null ? fragment.hashCode() : 0;
  result = 31 * result + background;
  result = 31 * result + backgroundDark;
  result = 31 * result + (canGoForward ? 1 : 0);
  result = 31 * result + (canGoBackward ? 1 : 0);
  result = 31 * result + (buttonCtaLabel != null ? buttonCtaLabel.hashCode() : 0);
  result = 31 * result + buttonCtaLabelRes;
  result = 31 * result + (buttonCtaClickListener != null ? buttonCtaClickListener.hashCode() : 0);
  return result;
}

代码示例来源:origin: developerHaoz/GlideUtils

/**
 * 移除 GlideRequests,在 onDestroy() 方法中调用,避免内存泄漏
 *
 * @param fragment
 */
public void removeGlideRequests(Fragment fragment) {
  for (Keeper keeper : mKeepers) {
    if (keeper.key == fragment.hashCode()) {
      mKeepers.remove(keeper);
    }
  }
}

代码示例来源:origin: developerHaoz/GlideUtils

public Keeper(@NonNull Fragment fragment) {
  key = fragment.hashCode();
  values = new HashSet<>();
  values.add(fragment.hashCode());
  glideRequests = GlideApp.with(fragment);
}

代码示例来源:origin: developerHaoz/GlideUtils

/**
 * hashCode 为 iHashCode 的对象需要使用图像加载功能
 *
 * @param fragment  对象所绑定的fragment
 * @param iHashCode 对象的hashCode
 */
public void iNeedLoadImageFunction(@NonNull Fragment fragment, int iHashCode) {
  //  查找到相应的Keeper,存储对象的hashCode
  for (Keeper keeper : mKeepers) {
    if (keeper.key == fragment.hashCode()) {
      keeper.values.add(iHashCode);
    }
  }
  //  错误抛出,说明fragment没有创建对应Keeper
  throw new IllegalArgumentException();
}

代码示例来源:origin: developerHaoz/GlideUtils

/**
 * 创建新的keeper
 *
 * @param fragment
 */
public void addGlideRequests(@NonNull Fragment fragment) {
  //  避免重复创建
  for (Keeper keeper : mKeepers) {
    if (keeper.key == fragment.hashCode()) {
      return;
    }
  }
  Keeper keeper = new Keeper(fragment);
  mKeepers.add(keeper);
}

代码示例来源:origin: iZeroer/Daily

@Override
  public long getItemId(int position) {
    super.getItemId(position);
    if (mNewsFragmentList != null) {
      if (position < mNewsFragmentList.size()) {
        //不同的Fragment分配的HashCode不同,从而实现刷新adapter中的fragment
        return mNewsFragmentList.get(position).hashCode();
      }
    }
    return super.getItemId(position);
  }
}

代码示例来源:origin: andforce/iBeebo

/**
 * Checks to see whether there is any children fragments which has been registered with
 * {@code requestCode} before. If so, let it handle the {@code requestCode}.
 *
 * @param requestCode the code from {@link #onActivityResult(int, int, android.content.Intent)}.
 * @param resultCode  the code from {@link #onActivityResult(int, int, android.content.Intent)}.
 * @param data        the data from {@link #onActivityResult(int, int, android.content.Intent)}.
 * @return {@code true} if the results have been handed over to some child fragment.
 * {@code false} otherwise.
 */
protected boolean checkNestedFragmentsForResult(int requestCode, int resultCode, Intent data) {
  final int id = mRequestCodes.get(requestCode);
  if (id == 0)
    return false;
  mRequestCodes.delete(requestCode);
  List<Fragment> fragments = getChildFragmentManager().getFragments();
  if (fragments == null)
    return false;
  for (Fragment fragment : fragments) {
    if (fragment.hashCode() == id) {
      fragment.onActivityResult(requestCode, resultCode, data);
      return true;
    }
  }
  return false;
}// checkNestedFragmentsForResult()

相关文章

微信公众号

最新文章

更多

Fragment类方法