Java源码示例:com.zhy.adapter.recyclerview.base.ViewHolder
示例1
private void setRecycleView(int type) {
switch (type) {
case 0:
recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
break;
case 1:
recyclerView.setLayoutManager(new GridLayoutManager(this, 3));
break;
case 2:
recyclerView.setLayoutManager(new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.VERTICAL));
break;
}
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(new CommonAdapter<String>(this, R.layout.layout_item, //
Arrays.asList(getResources().getStringArray(R.array.listView_item))) {
@Override
protected void convert(ViewHolder holder, String s, int position) {
((TextView) holder.getView(R.id.tv)).setText(s);
}
});
}
示例2
@Override
public void convert(ViewHolder holder, BaseItem baseItem, int position) {
OtherStoriesHeader storiesHeader = (OtherStoriesHeader) baseItem;
ImageView imageView = holder.getView(R.id.image);
TextView textView = holder.getView(R.id.title);
if ((boolean) SharedPreferencesUtils.get(App.getContext(), "NO_IMAGE_MODE", false)
&& !NetWorkUtils.isWifiConnected(App.getContext())) {
Glide.with(holder.getConvertView().getContext())
.load(R.drawable.image_top_default)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.centerCrop()
.into(imageView);
} else {
Glide.with(holder.getConvertView().getContext())
.load(storiesHeader.getUrl())
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.centerCrop()
.into(imageView);
}
textView.setText(storiesHeader.getDescription());
}
示例3
@Override
public void convert(ViewHolder holder, BaseItem baseItem, int position) {
Context context = holder.getConvertView().getContext();
StoryContentComment comment = (StoryContentComment) baseItem;
if ((boolean) SharedPreferencesUtils.get(App.getContext(), "NO_IMAGE_MODE", false)
&& !NetWorkUtils.isWifiConnected(App.getContext())) {
Glide.with(context)
.load(R.drawable.account_avatar)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.transform(new CircleTransform(context))
.into((ImageView) holder.getView(R.id.avatar));
} else {
Glide.with(context)
.load(comment.getAvatar())
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.transform(new CircleTransform(context))
.into((ImageView) holder.getView(R.id.avatar));
}
holder.setText(R.id.author, comment.getAuthor());
holder.setText(R.id.content, comment.getContent());
holder.setText(R.id.likes, Integer.toString(comment.getLikes()));
holder.setText(R.id.time, comment.getTime());
}
示例4
@Override
public void convert(ViewHolder holder, BaseItem baseItem, int position) {
Context context = holder.getConvertView().getContext();
Editors editors = (Editors) baseItem;
((TextView) holder.getView(R.id.editor_name)).setText(editors.getName());
((TextView) holder.getView(R.id.editor_bio)).setText(editors.getBio());
if ((boolean) SharedPreferencesUtils.get(App.getContext(), "NO_IMAGE_MODE", false)
&& !NetWorkUtils.isWifiConnected(App.getContext())) {
Glide.with(context)
.load(R.drawable.editor_profile_avatar)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.transform(new CircleTransform(context))
.into((ImageView) holder.getView(R.id.editor_avatar));
} else {
Glide.with(context)
.load(editors.getAvatar())
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.transform(new CircleTransform(context))
.into((ImageView) holder.getView(R.id.editor_avatar));
}
}
示例5
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
int[] intArray = getResources().getIntArray(R.array.colors);
list.clear();
for (int anIntArray : intArray) {
list.add(anIntArray);
}
commonAdapter = new CommonAdapter<Integer>(getActivity(), R.layout.item_coupon_dash_line, list) {
@Override
protected void convert(ViewHolder holder, Integer s, int position) {
CouponView couponView = holder.getView(R.id.couponView);
couponView.setBackgroundColor(s);
}
};
mRecyclerView.addItemDecoration(new RecyclerView.ItemDecoration() {
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state);
outRect.set(dp2Px(6), dp2Px(6), dp2Px(6), 0);
}
});
mRecyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 2));
mRecyclerView.setAdapter(commonAdapter);
}
示例6
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
int[] intArray = getResources().getIntArray(R.array.colors);
list.clear();
for (int anIntArray : intArray) {
list.add(anIntArray);
}
commonAdapter = new CommonAdapter<Integer>(getActivity(), R.layout.item_coupon_combination, list) {
@Override
protected void convert(ViewHolder holder, Integer s, int position) {
CouponView couponView = holder.getView(R.id.couponView);
couponView.setBackgroundColor(s);
}
};
mRecyclerView.addItemDecoration(new RecyclerView.ItemDecoration() {
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state);
outRect.set(dp2Px(6), dp2Px(6), dp2Px(6), 0);
}
});
mRecyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 2));
mRecyclerView.setAdapter(commonAdapter);
}
示例7
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
if (isEmpty())
{
ViewHolder holder;
if (mEmptyView != null)
{
holder = ViewHolder.createViewHolder(parent.getContext(), mEmptyView);
} else
{
holder = ViewHolder.createViewHolder(parent.getContext(), parent, mEmptyLayoutId);
}
return holder;
}
return mInnerAdapter.onCreateViewHolder(parent, viewType);
}
示例8
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
if (viewType == ITEM_TYPE_LOAD_MORE)
{
ViewHolder holder;
if (mLoadMoreView != null)
{
holder = ViewHolder.createViewHolder(parent.getContext(), mLoadMoreView);
} else
{
holder = ViewHolder.createViewHolder(parent.getContext(), parent, mLoadMoreLayoutId);
}
return holder;
}
return mInnerAdapter.onCreateViewHolder(parent, viewType);
}
示例9
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
// Log.d("LoadMoreCommonAdapter","onCreateViewHolder");
if (viewType == ITEM_TYPE_LOAD_MORE)
{
ViewHolder holder;
if (mLoadMoreView != null)
{
holder = ViewHolder.createViewHolder(parent.getContext(), mLoadMoreView);
} else
{
holder = ViewHolder.createViewHolder(parent.getContext(), parent, mLoadMoreLayoutId);
}
return holder;
}
return super.onCreateViewHolder(parent, viewType);
}
示例10
@Override
protected void convertItem(ViewHolder holder, final PlayBean playBean, int position) {
holder.setImageUrl(R.id.thumnails,playBean.thumb,new GlideRoundTransform(mActivity,5));
holder.setText(R.id.title,playBean.title);
holder.setText(R.id.tv_viewnum,playBean.view);
holder.setText(R.id.nickName,playBean.nick);
holder.setImageUrl(R.id.ic_head,playBean.avatar,new GlideCircleTransform(mActivity));
holder.getItemView().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent =new Intent(mActivity, CommonLiveUI.class);
intent.putExtra("playBean",playBean);
getActivity().startActivity(intent);
getActivity().overridePendingTransition(R.anim.anim_slide_in_right,R.anim.anim_slide_out_left);
}
});
}
示例11
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
if (isEmpty())
{
ViewHolder holder;
if (mEmptyView != null)
{
holder = ViewHolder.createViewHolder(parent.getContext(), mEmptyView);
} else
{
holder = ViewHolder.createViewHolder(parent.getContext(), parent, mEmptyLayoutId);
}
return holder;
}
return mInnerAdapter.onCreateViewHolder(parent, viewType);
}
示例12
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
if (viewType == ITEM_TYPE_LOAD_MORE)
{
ViewHolder holder;
if (mLoadMoreView != null)
{
holder = ViewHolder.createViewHolder(parent.getContext(), mLoadMoreView);
} else
{
holder = ViewHolder.createViewHolder(parent.getContext(), parent, mLoadMoreLayoutId);
}
return holder;
}
return mInnerAdapter.onCreateViewHolder(parent, viewType);
}
示例13
@Override
public void convert(ViewHolder holder, BaseItem baseItem, int position) {
mContext = holder.getConvertView().getContext();
final OtherStoriesSection section = (OtherStoriesSection) baseItem;
LinearLayout editorGroup = holder.getView(R.id.editor_group);
if (editorGroup.getChildCount() == 0) {
int defaultMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 32, holder.getConvertView().getResources().getDisplayMetrics());
for (Editors editors : section.getEditors()) {
ImageView imageView = new ImageView(mContext);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(defaultMargin, defaultMargin);
imageView.setLayoutParams(params);
if ((boolean) SharedPreferencesUtils.get(App.getContext(), "NO_IMAGE_MODE", false)
&& !NetWorkUtils.isWifiConnected(App.getContext())) {
Glide.with(mContext)
.load(R.drawable.editor_profile_avatar)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.transform(new CircleTransform(mContext))
.into(imageView);
} else {
Glide.with(mContext)
.load(editors.getAvatar())
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.transform(new CircleTransform(mContext))
.into(imageView);
}
editorGroup.addView(imageView);
}
}
holder.getView(R.id.editors).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mContext, EditorListActivity.class);
intent.putParcelableArrayListExtra("editorList", section.getEditors());
mContext.startActivity(intent);
}
});
}
示例14
@Override
public void convert(ViewHolder holder, BaseItem baseItem, int position) {
mContext = holder.getConvertView().getContext();
final ThemesContentItem item = (ThemesContentItem) baseItem;
holder.setText(R.id.title, item.getTitle());
holder.getView(R.id.multiPic).setVisibility(View.GONE);
if (item.getImages() != null) {
if ((boolean) SharedPreferencesUtils.get(App.getContext(), "NO_IMAGE_MODE", false)
&& !NetWorkUtils.isWifiConnected(App.getContext())) {
Glide.with(mContext)
.load(R.drawable.image_small_default)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.into((ImageView) holder.getView(R.id.image));
} else {
Glide.with(mContext)
.load(item.getImages().get(0))
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.into((ImageView) holder.getView(R.id.image));
}
} else {
holder.getView(R.id.image).setVisibility(View.GONE);
}
holder.setOnClickListener(R.id.cardView, new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mContext, OtherStoryContentActivity.class);
intent.putExtra("id", item.getId());
mContext.startActivity(intent);
}
});
}
示例15
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
super.onBindViewHolder(holder, position);
if (mSelection == position) {
holder.getConvertView().setBackgroundColor(ContextCompat.getColor(mContext, R.color.drawer_select));
} else if (position > 0) {
holder.getConvertView().setBackgroundColor(ContextCompat.getColor(mContext, R.color.drawer_normal));
}
}
示例16
@Override
public void convert(ViewHolder holder, BaseItem baseItem, int position) {
if (position == 1) {
holder.setText(R.id.story_section, "今日热闻");
} else {
holder.setText(R.id.story_section, ((StoriesSection) baseItem).getDate());
}
}
示例17
@Override
public void convert(ViewHolder holder, BaseItem baseItem, int position) {
final Stories stories = (Stories) baseItem;
holder.setText(R.id.title, stories.getTitle());
mContext = holder.getConvertView().getContext();
if ((boolean) SharedPreferencesUtils.get(App.getContext(), "NO_IMAGE_MODE", false)
&& !NetWorkUtils.isWifiConnected(App.getContext())) {
Glide.with(mContext)
.load(R.drawable.image_small_default)
.centerCrop()
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.into((ImageView) holder.getView(R.id.image));
} else {
Glide.with(mContext)
.load(stories.getImages().get(0))
.centerCrop()
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.into((ImageView) holder.getView(R.id.image));
}
if (!stories.isMultiPic()) {
holder.getView(R.id.multiPic).setVisibility(View.INVISIBLE);
}
holder.setOnClickListener(R.id.cardView, new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mContext, StoryContentActivity.class);
intent.putExtra("id", stories.getId());
mContext.startActivity(intent);
}
});
}
示例18
@Override
public void convert(ViewHolder holder, BaseItem baseItem, int position) {
CommentSection commentSection = (CommentSection) baseItem;
holder.setText(R.id.comment_num, commentSection.getTitle());
if (commentSection.getType() == CommentSection.LONG_COMMENT) {
holder.getView(R.id.comment_item_img).setVisibility(View.GONE);
}
}
示例19
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
int[] intArray = getResources().getIntArray(R.array.colors);
list.clear();
for (int anIntArray : intArray) {
list.add(anIntArray);
}
commonAdapter = new CommonAdapter<Integer>(getActivity(), R.layout.item_coupon_semi_circle, list) {
@Override
protected void convert(ViewHolder holder, Integer s, int position) {
CouponView couponView = holder.getView(R.id.couponView);
couponView.setBackgroundColor(s);
}
};
mRecyclerView.addItemDecoration(new RecyclerView.ItemDecoration() {
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state);
outRect.set(dp2Px(6), dp2Px(6), dp2Px(6), 0);
}
});
mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
mRecyclerView.setAdapter(commonAdapter);
}
示例20
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
ItemViewDelegate itemViewDelegate = mItemViewDelegateManager.getItemViewDelegate(viewType);
int layoutId = itemViewDelegate.getItemViewLayoutId();
ViewHolder holder = ViewHolder.createViewHolder(mContext, parent, layoutId);
onViewHolderCreated(holder,holder.getConvertView());
setListener(parent, holder, viewType);
return holder;
}
示例21
@Override
public void onViewAttachedToWindow(RecyclerView.ViewHolder holder)
{
mInnerAdapter.onViewAttachedToWindow(holder);
if (isEmpty())
{
WrapperUtils.setFullSpan(holder);
}
}
示例22
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position)
{
if (isEmpty())
{
return;
}
mInnerAdapter.onBindViewHolder(holder, position);
}
示例23
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position)
{
if (isHeaderViewPos(position))
{
return;
}
if (isFooterViewPos(position))
{
return;
}
mInnerAdapter.onBindViewHolder(holder, position - getHeadersCount());
}
示例24
@Override
public void onViewAttachedToWindow(RecyclerView.ViewHolder holder)
{
mInnerAdapter.onViewAttachedToWindow(holder);
int position = holder.getLayoutPosition();
if (isHeaderViewPos(position) || isFooterViewPos(position))
{
WrapperUtils.setFullSpan(holder);
}
}
示例25
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position)
{
if (isShowLoadMore(position))
{
if (mOnLoadMoreListener != null)
{
mOnLoadMoreListener.onLoadMoreRequested();
}
return;
}
mInnerAdapter.onBindViewHolder(holder, position);
}
示例26
@Override
public void onViewAttachedToWindow(RecyclerView.ViewHolder holder)
{
mInnerAdapter.onViewAttachedToWindow(holder);
if (isShowLoadMore(holder.getLayoutPosition()))
{
setFullSpan(holder);
}
}
示例27
private void setFullSpan(RecyclerView.ViewHolder holder)
{
ViewGroup.LayoutParams lp = holder.itemView.getLayoutParams();
if (lp != null
&& lp instanceof StaggeredGridLayoutManager.LayoutParams)
{
StaggeredGridLayoutManager.LayoutParams p = (StaggeredGridLayoutManager.LayoutParams) lp;
p.setFullSpan(true);
}
}
示例28
@Override
public void onBindViewHolder(ViewHolder holder, int position)
{
// Log.d("LoadMoreCommonAdapter","onBindViewHolder");
if (isShowLoadMore(position))
{
if (mOnLoadMoreListener != null)
{
mOnLoadMoreListener.onLoadMoreRequested();
}
return;
}
super.onBindViewHolder(holder, position);
}
示例29
@Override
public void onViewAttachedToWindow(ViewHolder holder)
{
// Log.d("LoadMoreCommonAdapter","onViewAttachedToWindow");
if (isShowLoadMore(holder.getLayoutPosition()))
{
setFullSpan(holder);
}
}
示例30
private void setFullSpan(RecyclerView.ViewHolder holder)
{
ViewGroup.LayoutParams lp = holder.itemView.getLayoutParams();
if (lp != null
&& lp instanceof StaggeredGridLayoutManager.LayoutParams)
{
StaggeredGridLayoutManager.LayoutParams p = (StaggeredGridLayoutManager.LayoutParams) lp;
p.setFullSpan(true);
}
}