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);
    }
}