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


Java RecyclerView.findViewHolderForAdapterPosition方法代码示例

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


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

示例1: matchesSafely

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
protected boolean matchesSafely(final View itemView) {
    resources = itemView.getResources();
    if (childItemView == null) {
        final RecyclerView recyclerView = (RecyclerView) itemView.getRootView().findViewById(recyclerViewId);
        if (recyclerView != null && recyclerView.getId() == recyclerViewId) {
            childItemView = recyclerView.findViewHolderForAdapterPosition(position).itemView;
        } else {
            return false;
        }
    }

    if (targetViewId == -1) {
        return itemView == childItemView;
    } else {
        final View targetView = childItemView.findViewById(targetViewId);
        return itemView == targetView;
    }
}
 
开发者ID:ParaskP7,项目名称:sample-code-posts,代码行数:20,代码来源:RecyclerTypeSafeMatcher.java

示例2: hasHolderItem

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@NonNull
public static ViewAssertion hasHolderItem(final Matcher<RecyclerView.ViewHolder> viewHolderMatcher) {
	return new ViewAssertion() {
		@Override public void check(View view, NoMatchingViewException e) {
			if (!(view instanceof RecyclerView)) {
				throw e;
			}

			boolean hasMatch = false;
			RecyclerView rv = (RecyclerView) view;
			for (int i = 0; i < rv.getChildCount(); i++) {
				RecyclerView.ViewHolder vh = rv.findViewHolderForAdapterPosition(i);
				hasMatch |= viewHolderMatcher.matches(vh);
			}
			Assert.assertTrue(hasMatch);
		}
	};
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:19,代码来源:ConnectbotMatchers.java

示例3: atPosition

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
public static Matcher<View> atPosition(final int position, final Matcher<View> itemMatcher) {
	return new BoundedMatcher<View, RecyclerView>(RecyclerView.class) {
		@Override
		public void describeTo(Description description) {
			description.appendText("has item at position " + position + ": ");
			itemMatcher.describeTo(description);
		}

		@Override
		protected boolean matchesSafely(final RecyclerView view) {
			RecyclerView.ViewHolder viewHolder = view.findViewHolderForAdapterPosition(position);
			if (viewHolder == null) {
				return false;
			}
			return itemMatcher.matches(viewHolder.itemView);
		}
	};
}
 
开发者ID:leocabral,项目名称:lacomida,代码行数:19,代码来源:EspressoCustomActions.java

示例4: getViewHolders

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
/**
 * Get all <b>attached</b> {@link RecyclerView.ViewHolder} in the given {@link RecyclerView}
 * that has implemented or extended the the given {@link T} class in the given range between
 * {@code start} and {@code end}
 *
 * @param recyclerView the given {@link RecyclerView}
 * @param cls          the class of {@link android.support.v7.widget.RecyclerView.ViewHolder} of interest in the given {@link RecyclerView}
 * @param start        the start position
 * @param end          the end position
 */
public static <T extends IViewHolder> List<T> getViewHolders(@Nullable RecyclerView recyclerView, Class<T> cls, int start, int end) {
    final int capacity = Math.max(end - start + 1, 0);
    final List<T> list = new ArrayList<>(capacity);
    if (recyclerView == null || recyclerView.getAdapter() == null) {
        return list;
    }

    final int count = recyclerView.getAdapter().getItemCount();
    if (start < 0 || end >= count) {
        return list;
    }

    RecyclerView.ViewHolder holder;
    for (int i = start; i <= end; i++) {
        holder = recyclerView.findViewHolderForAdapterPosition(i);
        if (cls.isInstance(holder)) {
            //noinspection unchecked
            list.add((T) holder);
        }
    }
    return list;
}
 
开发者ID:Tenor-Inc,项目名称:tenor-android-core,代码行数:33,代码来源:MeasurableRecyclerViewHelper.java

示例5: atPosition

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
public static Matcher<View> atPosition(final int position, @NonNull final Matcher<View> itemMatcher) {
    checkNotNull(itemMatcher);
    return new BoundedMatcher<View, RecyclerView>(RecyclerView.class) {
        @Override
        public void describeTo(Description description) {
            description.appendText("has item at position " + position + ":\n");
            itemMatcher.describeTo(description);
        }

        @Override
        protected boolean matchesSafely(final RecyclerView view) {
            RecyclerView.ViewHolder viewHolder = view.findViewHolderForAdapterPosition(position);
            return viewHolder != null && itemMatcher.matches(viewHolder.itemView);
        }
    };
}
 
开发者ID:sathishmscict,项目名称:ChipsLayoutManager,代码行数:17,代码来源:RecyclerViewEspressoFactory.java

示例6: SetAllSelection

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
public static void SetAllSelection(Boolean selection, RecyclerView recyclerView){
    for (int i = 0; i < recyclerView.getChildCount(); i++) {
        ViewHolder holder = (ViewHolder) recyclerView.findViewHolderForAdapterPosition(i);
        Contact.setAllFlag(selection);
        holder.contactLayout.setSelected(selection);
        holder.contactCheckBox.setChecked(selection);
        Log.i("iiii", "SetAllSelection: ");
    }
}
 
开发者ID:MessageOnTap,项目名称:ImHome,代码行数:10,代码来源:ContactAdapter.java

示例7: onPrepareMerge

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public MergeInfo onPrepareMerge(RecyclerView parent, int selectedPosition, int targetPosition) {
    VH selectedViewHolder = (VH) parent.findViewHolderForAdapterPosition(selectedPosition);
    VH targetViewHolder = (VH) parent.findViewHolderForAdapterPosition(targetPosition);
    if(selectedViewHolder == null || targetViewHolder == null) return null;
    return onPrePareMerge(selectedViewHolder, targetViewHolder, selectedPosition, targetPosition);
}
 
开发者ID:AlphaBoom,项目名称:ClassifyView,代码行数:9,代码来源:BaseMainAdapter.java

示例8: onDragStart

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public void onDragStart(RecyclerView recyclerView, int position) {
    VH selectedViewHolder = (VH) recyclerView.findViewHolderForAdapterPosition(position);
    if(selectedViewHolder == null) return;
    onDragStart(selectedViewHolder,position);
}
 
开发者ID:AlphaBoom,项目名称:ClassifyView,代码行数:8,代码来源:BaseSubAdapter.java

示例9: onDrawOver

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@Override
    public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {
        super.onDrawOver(c, parent, state);
        if (!showFloatingHeaderOnScrolling) {
            return;
        }
        int firstVisiblePos = ((LinearLayoutManager) parent.getLayoutManager()).findFirstVisibleItemPosition();
        if (firstVisiblePos == RecyclerView.NO_POSITION) {
            return;
        }
        String title = getTitle(firstVisiblePos);
        if (TextUtils.isEmpty(title)) {
            return;
        }
        boolean flag = false;
        if (getTitle(firstVisiblePos + 1) != null && !title.equals(getTitle(firstVisiblePos + 1))) {
            //说明是当前组最后一个元素,但不一定碰撞了
//            Log.e(TAG, "onDrawOver: "+"==============" +firstVisiblePos);
            View child = parent.findViewHolderForAdapterPosition(firstVisiblePos).itemView;
            if (child.getTop() + child.getMeasuredHeight() < mTitleHeight) {
                //进一步检测碰撞
//                Log.e(TAG, "onDrawOver: "+child.getTop()+"$"+firstVisiblePos );
                c.save();//保存画布当前的状态
                flag = true;
                c.translate(0, child.getTop() + child.getMeasuredHeight() - mTitleHeight);//负的代表向上
            }
        }
        int left = parent.getPaddingLeft();
        int right = parent.getWidth() - parent.getPaddingRight();
        int top = parent.getPaddingTop();
        int bottom = top + mTitleHeight;
        c.drawRect(left, top, right, bottom, mBackgroundPaint);
        float x = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 10, mContext.getResources().getDisplayMetrics());
        float y = bottom - (mTitleHeight - mTextHeight) / 2 - mTextBaselineOffset;//计算文字baseLine
        c.drawText(title, x, y, mTextPaint);
        if (flag) {
            //还原画布为初始状态
            c.restore();
        }
    }
 
开发者ID:coderwjq,项目名称:ZhaZhaShop,代码行数:41,代码来源:FloatingItemDecoration.java

示例10: onMerged

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public void onMerged(RecyclerView parent, int selectedPosition, int targetPosition) {
    VH selectedViewHolder = (VH) parent.findViewHolderForAdapterPosition(selectedPosition);
    VH targetViewHolder = (VH) parent.findViewHolderForAdapterPosition(targetPosition);
    if(selectedViewHolder == null || targetViewHolder == null) return;
    onMerged(selectedViewHolder, targetViewHolder, selectedPosition, targetPosition);
}
 
开发者ID:AlphaBoom,项目名称:ClassifyView,代码行数:9,代码来源:BaseMainAdapter.java

示例11: setSongPlaying

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
public void setSongPlaying(RecyclerView recyclerView, int position)

    {

            MyViewHolder myViewHolder = (MyViewHolder) recyclerView.findViewHolderForAdapterPosition(position);
            if(myViewHolder != null)
            {
                myViewHolder.artisteTextView.setTextColor(recyclerView.getResources().getColor(R.color.colorAccent));
                myViewHolder.titleTextView.setTextColor(recyclerView.getResources().getColor(R.color.colorAccent));
                myViewHolder.visualizer.setVisibility(View.VISIBLE);
                myViewHolder.tintView.setVisibility(View.VISIBLE);
            }

        if(previousView != null && previousView != myViewHolder)
        {
            MyViewHolder previousViewHolder = previousView;

            previousViewHolder.artisteTextView.setTextColor(recyclerView.getResources().getColor(R.color.colorPrimaryText));
            previousViewHolder.titleTextView.setTextColor(recyclerView.getResources().getColor(R.color.colorPrimaryText));
            previousViewHolder.visualizer.setVisibility(View.GONE);
            previousViewHolder.tintView.setVisibility(View.GONE);
            previousView = myViewHolder;

        }
        else
            previousView = myViewHolder;
    }
 
开发者ID:twisstosin,项目名称:Android-DevKit,代码行数:28,代码来源:CustomRecyclerAdapter.java

示例12: onStartMergeAnimation

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public void onStartMergeAnimation(RecyclerView parent, int selectedPosition, int targetPosition,int duration) {
    VH selectedViewHolder = (VH) parent.findViewHolderForAdapterPosition(selectedPosition);
    VH targetViewHolder = (VH) parent.findViewHolderForAdapterPosition(targetPosition);
    if(selectedViewHolder == null || targetViewHolder == null) return;
    onStartMergeAnimation(selectedViewHolder, targetViewHolder, selectedPosition, targetPosition,duration);
}
 
开发者ID:AlphaBoom,项目名称:ClassifyView,代码行数:9,代码来源:BaseMainAdapter.java

示例13: notifyDragCancel

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
private void notifyDragCancel(BaseCallBack callBack, RecyclerView recyclerView) {
    int oldPosition = callBack.getDragPosition();
    if (oldPosition != -1) {
        RecyclerView.ViewHolder holder = recyclerView.findViewHolderForAdapterPosition(oldPosition);
        if (holder != null) {
            holder.itemView.setVisibility(VISIBLE);
            callBack.setDragPosition(-1, false);
        } else {
            callBack.setDragPosition(-1, true);
        }
    } else {
        callBack.setDragPosition(-1, true);
    }
}
 
开发者ID:AlphaBoom,项目名称:ClassifyView,代码行数:15,代码来源:ClassifyView.java

示例14: withRecyclerView

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
public static Matcher<View> withRecyclerView(final int recyclerViewId, final int position) {
  return new CustomTypeSafeMatcher<View>(format("recycler view with id: {0} at position: {1}",
    recyclerViewId, position)) {
    @Override
    protected boolean matchesSafely(View item) {
      View view = item.getRootView().findViewById(recyclerViewId);

      if (view == null || !(view instanceof RecyclerView))
        return false;
      RecyclerView recyclerView = (RecyclerView) view;
      View childView = recyclerView.findViewHolderForAdapterPosition(position).itemView;
      return childView == item;
    }
  };
}
 
开发者ID:jainsahab,项目名称:AndroidSnooper,代码行数:16,代码来源:EspressoViewMatchers.java

示例15: clearSelection

import android.support.v7.widget.RecyclerView; //导入方法依赖的package包/类
public void clearSelection(RecyclerView recyclerView) {
    if (recyclerView != null) {
        for (int item : mSelectedItems) {
            RecyclerView.ViewHolder viewHolder = recyclerView
                    .findViewHolderForAdapterPosition(item);
            if (viewHolder == null)
                continue;
            ((MessageHolder) viewHolder).setSelected(false, false);
        }
    }
    mSelectedItems.clear();
}
 
开发者ID:MCMrARM,项目名称:revolution-irc,代码行数:13,代码来源:ChatMessagesAdapter.java


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