当前位置: 首页>>代码示例>>Java>>正文


Java RecyclerView.getChildViewHolder方法代码示例

本文整理汇总了Java中android.support.v7.widget.RecyclerView.getChildViewHolder方法的典型用法代码示例。如果您正苦于以下问题:Java RecyclerView.getChildViewHolder方法的具体用法?Java RecyclerView.getChildViewHolder怎么用?Java RecyclerView.getChildViewHolder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.support.v7.widget.RecyclerView的用法示例。


在下文中一共展示了RecyclerView.getChildViewHolder方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getItemOffsets

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView recyclerView, RecyclerView.State state) {
    final RecyclerView.ViewHolder holder = recyclerView.getChildViewHolder(view);
    final Context context = recyclerView.getContext();

    if(!registered) {
        MaterialViewPagerHelper.registerRecyclerView(context, recyclerView);
        registered = true;
    }

    int headerCells = 1;

    //don't work with stagged
    RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager();
    if(layoutManager instanceof GridLayoutManager){
        GridLayoutManager gridLayoutManager = (GridLayoutManager)layoutManager;
        headerCells = gridLayoutManager.getSpanCount();
    }

    MaterialViewPagerAnimator animator = MaterialViewPagerHelper.getAnimator(context);
    if (animator != null) {
        if (holder.getAdapterPosition() < headerCells) {
            outRect.top = Math.round(Utils.dpToPx(animator.getHeaderHeight() + 10, context));
        }
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:27,代码来源:MaterialViewPagerHeaderDecorator.java

示例2: onDrawOver

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override public void onDrawOver(@NonNull Canvas canvas, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
    int childCount = parent.getChildCount();
    if (childCount < 2) return;
    RecyclerView.LayoutManager lm = parent.getLayoutManager();
    float[] lines = new float[childCount * 4];
    boolean hasDividers = false;
    for (int i = 0; i < childCount; i++) {
        View child = parent.getChildAt(i);
        RecyclerView.ViewHolder viewHolder = parent.getChildViewHolder(child);
        if (!(viewHolder instanceof ProgressBarViewHolder)) {
            boolean canDivide = toDivide == null || viewHolder.getClass() == toDivide;
            if (canDivide) {
                int position = parent.getChildAdapterPosition(child);
                if (child.isActivated() || (i + 1 < childCount && parent.getChildAt(i + 1).isActivated())) {
                    continue;
                }
                if (position != (state.getItemCount() - 1)) {
                    lines[i * 4] = inset == 0 ? inset : inset + lm.getDecoratedLeft(child);
                    lines[(i * 4) + 2] = lm.getDecoratedRight(child);
                    int y = lm.getDecoratedBottom(child) + (int) child.getTranslationY() - height;
                    lines[(i * 4) + 1] = y;
                    lines[(i * 4) + 3] = y;
                    hasDividers = true;
                }
            }
        }
    }
    if (hasDividers) {
        canvas.drawLines(lines, paint);
    }
}
 
开发者ID:duyp,项目名称:mvvm-template,代码行数:32,代码来源:InsetDividerDecoration.java

示例3: hasDivider

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public boolean hasDivider(RecyclerView parent, View view) {
    RecyclerView.ViewHolder holder = parent.getChildViewHolder(view);
    int viewType = holder.getItemViewType();
    return viewType != TYPE_HEADER && viewType != TYPE_TIP && !(viewType == TYPE_USER_RULE
            && ((RuleHolder) holder).mIsDragged);
}
 
开发者ID:MCMrARM,项目名称:revolution-irc,代码行数:8,代码来源:NotificationRulesAdapter.java

示例4: releaseAllHolder

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
/**
 * 遍历所有hodler,释放他们需要释放的资源
 *
 * @param recyclerView
 */
public static void releaseAllHolder(RecyclerView recyclerView) {
    if (recyclerView == null) return;
    for (int i = recyclerView.getChildCount() - 1; i >= 0; i--) {
        final View view = recyclerView.getChildAt(i);
        RecyclerView.ViewHolder viewHolder = recyclerView.getChildViewHolder(view);
        if (viewHolder != null && viewHolder instanceof BaseHolder) {
            ((BaseHolder) viewHolder).onRelease();
        }
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:16,代码来源:DefaultAdapter.java

示例5: releaseAllHolder

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
/**
 * 遍历所有hodler,释放他们需要释放的资源,需要在super.onDestroy()之前调用
 *
 * @param recyclerView
 */
public static void releaseAllHolder(RecyclerView recyclerView) {
    for (int i = recyclerView.getChildCount() - 1; i >= 0; i--) {
        final View view = recyclerView.getChildAt(i);
        RecyclerView.ViewHolder viewHolder = recyclerView.getChildViewHolder(view);
        if (viewHolder != null && viewHolder instanceof BaseHolder) {
            ((BaseHolder) viewHolder).onRelease();
        }
    }
}
 
开发者ID:RockyQu,项目名称:MVVMFrames,代码行数:15,代码来源:DefaultAdapter.java

示例6: releaseAllHolder

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
/**
 * 遍历所有{@link BaseHolder},释放他们需要释放的资源
 *
 * @param recyclerView
 */
public static void releaseAllHolder(RecyclerView recyclerView) {
    if (recyclerView == null) return;
    for (int i = recyclerView.getChildCount() - 1; i >= 0; i--) {
        final View view = recyclerView.getChildAt(i);
        RecyclerView.ViewHolder viewHolder = recyclerView.getChildViewHolder(view);
        if (viewHolder != null && viewHolder instanceof BaseHolder) {
            ((BaseHolder) viewHolder).onRelease();
        }
    }
}
 
开发者ID:Superingxz,项目名称:MoligyMvpArms,代码行数:16,代码来源:DefaultAdapter.java

示例7: isInset

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
private boolean isInset(View view, RecyclerView parent) {
    ViewHolder viewHolder = (ViewHolder) parent.getChildViewHolder(view);
    if (viewHolder.getExtras().containsKey(INSET_TYPE_KEY)) {
        return viewHolder.getExtras().get(INSET_TYPE_KEY).equals(INSET);
    } else {
        return false;
    }
}
 
开发者ID:Genius,项目名称:genius-groupie,代码行数:9,代码来源:InsetItemDecoration.java

示例8: getItemOffsets

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {

    int pos = parent.getChildAdapterPosition(view);
    int count = parent.getAdapter().getItemCount();

    boolean alternativeHeaderAbove = pos > 0 && parent.getAdapter().getItemViewType(pos - 1) == R.id.id_adapter_setting_alternative_header_item;

    // Space über jedem Header, falls dieser nicht unter alternativem Header ist und nicht an erster Stelle ist
    if (pos > 0 && !alternativeHeaderAbove && parent.getChildViewHolder(view) instanceof SettingsHeaderItem.ViewHolder)  {
        outRect.top = paddingBeforeHeader;
    }

    // First and last item padding top
    if (pos == 0 && paddingTopBottom != 0) {
        outRect.top = paddingBeforeHeader;
    }
    if (pos == count -1 && paddingTopBottom != 0) {
        outRect.bottom = paddingBeforeHeader;
    }

    // item padding left/right
    if (paddingHorizontal != 0) {
        outRect.left = paddingHorizontal;
        outRect.right = paddingHorizontal;
    }
}
 
开发者ID:MFlisar,项目名称:RecyclerViewPreferences,代码行数:28,代码来源:SettingsSpaceDecorator.java

示例9: updateRecordsRows

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
private void updateRecordsRows() {
    RecyclerView recyclerView = getRecyclerView();
    for (int i = 0, n = recyclerView.getChildCount(); i < n; i++) {
        View view = recyclerView.getChildAt(i);
        RecyclerView.ViewHolder holder = recyclerView.getChildViewHolder(view);
        if (holder != null && holder.getItemViewType() == RecordsAdapter.ITEM_VIEW_TYPE) {
            Record record = adapter.getItem(holder.getAdapterPosition());
            ((RecordsAdapter.ItemViewHolder) holder).updatePlayPauseState(record);
        }
    }
}
 
开发者ID:kalikov,项目名称:lighthouse,代码行数:12,代码来源:RecordsActivity.java


注:本文中的android.support.v7.widget.RecyclerView.getChildViewHolder方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。