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


Java RecyclerView.findViewHolderForLayoutPosition方法代码示例

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


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

示例1: getViewByPosition

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Nullable
public View getViewByPosition(RecyclerView recyclerView, int position, @IdRes int viewId) {
    if (recyclerView == null) {
        return null;
    }
    BaseViewHolder viewHolder = (BaseViewHolder) recyclerView.findViewHolderForLayoutPosition(position);
    if (viewHolder == null) {
        return null;
    }
    return viewHolder.getView(viewId);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:12,代码来源:BaseQuickAdapter.java

示例2: getViewByPosition

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
public View getViewByPosition(RecyclerView recyclerView, int position, @IdRes int viewId) {
    if (recyclerView == null) {
        return null;
    }
    BaseViewHolder viewHolder = (BaseViewHolder) recyclerView.findViewHolderForLayoutPosition(position);
    if (viewHolder == null) {
        return null;
    }
    return viewHolder.getView(viewId);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:11,代码来源:BaseQuickAdapter.java

示例3: getViewByPosition

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
public View getViewByPosition(RecyclerView recyclerView, int position, int viewId) {
    if (recyclerView == null) {
        return null;
    }
    BaseViewHolder viewHolder = (BaseViewHolder) recyclerView.findViewHolderForLayoutPosition(position);
    return viewHolder.getView(viewId);
}
 
开发者ID:liu-xiao-dong,项目名称:JD-Test,代码行数:8,代码来源:BaseQuickAdapter.java

示例4: check

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public final void check(View view, NoMatchingViewException e) {
    RecyclerView recyclerView = (RecyclerView) view;
    RecyclerView.ViewHolder viewHolderForPosition = recyclerView.findViewHolderForLayoutPosition(position);
    if (viewHolderForPosition == null) {
        throw (new PerformException.Builder())
                .withActionDescription(toString())
                .withViewDescription(HumanReadables.describe(view))
                .withCause(new IllegalStateException("No view holder at position: " + position))
                .build();
    } else {
        View viewAtPosition = viewHolderForPosition.itemView;
        itemViewAssertion.check(item, viewAtPosition, e);
    }
}
 
开发者ID:igrow-systems,项目名称:igrow-android,代码行数:16,代码来源:RecyclerItemViewAssertion.java

示例5: onDrawOver

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
/**
 * 绘制在itemView的上层
 */
@Override
public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {
    int pos = ((LinearLayoutManager)parent.getLayoutManager()).findFirstVisibleItemPosition();
    String tag = mDatas.get(pos).getTag();
    View child = parent.findViewHolderForLayoutPosition(pos).itemView;
    boolean flag = false;//定义一个flag,Canvas是否位移过的标志
    if (pos + 1 < mDatas.size()) {
        if (null != tag && !tag.equals(mDatas.get(pos + 1).getTag())) {
            if (child.getHeight() + child.getTop() < mTitleHeight) {
                c.save();
                Log.e(TAG, "child.getTop() = " + child.getTop());
                flag = true;
                c.translate(0, child.getHeight() + child.getTop() - mTitleHeight);
                Log.e(TAG, "child.translate = " + (child.getHeight() + child.getTop() - mTitleHeight));
            }
        }
    }
    mPaint.setColor(COLOR_TITLE_BG);
    c.drawRect(parent.getPaddingLeft(), parent.getPaddingTop(), parent.getRight() - parent.getPaddingRight(), parent.getPaddingTop() + mTitleHeight, mPaint);
    mPaint.setColor(COLOR_TITLE_FONT);
    mPaint.getTextBounds(tag, 0, tag.length(), mBounds);
    c.drawText(tag, child.getPaddingLeft(),
            parent.getPaddingTop() + mTitleHeight - (mTitleHeight / 2 - mBounds.height() / 2),
            mPaint);

    if (flag)
        c.restore();
}
 
开发者ID:wuhighway,项目名称:DailyStudy,代码行数:32,代码来源:WxItemDecoration.java

示例6: onDrawOver

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {//最后调用 绘制在最上层
    int pos = ((LinearLayoutManager)(parent.getLayoutManager())).findFirstVisibleItemPosition();

    String tag = mDatas.get(pos).getTag();
    //View child = parent.getChildAt(pos);
    View child = parent.findViewHolderForLayoutPosition(pos).itemView;//出现一个奇怪的bug,有时候child为空,所以将 child = parent.getChildAt(i)。-》 parent.findViewHolderForLayoutPosition(pos).itemView

    boolean flag = false;//定义一个flag,Canvas是否位移过的标志
    if ((pos + 1) < mDatas.size()) {//防止数组越界(一般情况不会出现)
        if (null != tag && !tag.equals(mDatas.get(pos + 1).getTag())) {//当前第一个可见的Item的tag,不等于其后一个item的tag,说明悬浮的View要切换了
            Log.d("zxt", "onDrawOver() called with: c = [" + child.getTop());//当getTop开始变负,它的绝对值,是第一个可见的Item移出屏幕的距离,
            if (child.getHeight() + child.getTop() < mTitleHeight) {//当第一个可见的item在屏幕中还剩的高度小于title区域的高度时,我们也该开始做悬浮Title的“交换动画”
                c.save();//每次绘制前 保存当前Canvas状态,
                flag = true;

                //一种头部折叠起来的视效,个人觉得也还不错~
                //可与123行 c.drawRect 比较,只有bottom参数不一样,由于 child.getHeight() + child.getTop() < mTitleHeight,所以绘制区域是在不断的减小,有种折叠起来的感觉
                //c.clipRect(parent.getPaddingLeft(), parent.getPaddingTop(), parent.getRight() - parent.getPaddingRight(), parent.getPaddingTop() + child.getHeight() + child.getTop());

                //类似饿了么点餐时,商品列表的悬停头部切换“动画效果”
                //上滑时,将canvas上移 (y为负数) ,所以后面canvas 画出来的Rect和Text都上移了,有种切换的“动画”感觉
                c.translate(0, child.getHeight() + child.getTop() - mTitleHeight);
            }
        }
    }

    mPaint.setColor(COLOR_TITLE_BG);
    c.drawRect(parent.getPaddingLeft(), parent.getPaddingTop(), parent.getRight() - parent.getPaddingRight(), parent.getPaddingTop() + mTitleHeight, mPaint);
    mPaint.setColor(COLOR_TITLE_FONT);
    mPaint.getTextBounds(tag, 0, tag.length(), mBounds);
    c.drawText(tag, child.getPaddingLeft(),
            parent.getPaddingTop() + mTitleHeight - (mTitleHeight / 2 - mBounds.height() / 2),
            mPaint);

    if (flag)
        c.restore();
}
 
开发者ID:wuhighway,项目名称:DailyStudy,代码行数:39,代码来源:TitleItemDecoration.java

示例7: check

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
public final void check(View view, NoMatchingViewException e) {
  RecyclerView recyclerView = (RecyclerView) view;
  RecyclerView.ViewHolder viewHolderForPosition =
      recyclerView.findViewHolderForLayoutPosition(position);
  if (viewHolderForPosition == null) {
    throw (new PerformException.Builder()).withActionDescription(toString())
        .withViewDescription(HumanReadables.describe(view))
        .withCause(new IllegalStateException("No view holder at position: " + position))
        .build();
  } else {
    View viewAtPosition = viewHolderForPosition.itemView;
    itemViewAssertion.check(item, viewAtPosition, e);
  }
}
 
开发者ID:pabloserranof,项目名称:GuardianReader,代码行数:16,代码来源:RecyclerItemViewAssertion.java


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