GoodsMsgProvider

@ProviderTag(messageContent = GoodsMsg.class, showReadState = true)
public class GoodsMsgProvider extends IContainerItemProvider.MessageProvider<GoodsMsg> {

    private Context mContext;

    public GoodsMsgProvider(Context context) {
        mContext = context;
    }

    @Override
    public void bindView(View view, int i, GoodsMsg goodsMsg, UIMessage uiMessage) {
        //根据需求,适配数据
        ViewHolder holder = (ViewHolder) view.getTag();
        holder.tvGoodsName.setText(goodsMsg.getGoodsName());
        holder.tvShopName.setText(goodsMsg.getShopName());
        holder.tvGoodsPrice.setText(goodsMsg.getGoodsPriceMin());
        GlideRoundTransform glideRoundTransform = new GlideRoundTransform(mContext, 8, GlideRoundTransform.CornerType.TOP);
        Glide.with(mContext)
                .load(goodsMsg.getGoodsCoverUrl())
                .apply(new RequestOptions()
                        .diskCacheStrategy(DiskCacheStrategy.ALL)
                        .transform(glideRoundTransform))
                .placeholder(R.mipmap.icon_default_placeholder)
                .into(holder.ivGoodsCover);
        ImageLoaderUtil.loadImgCenterCrop(holder.ivShopLogo, goodsMsg.getShopLogo(), R.mipmap.icon_default_avatar_shop);
        List<String> goodsTag = goodsMsg.getGoodsTag();
        if (goodsTag != null && !goodsTag.isEmpty()) {
            holder.tflGoodsTag.setVisibility(View.VISIBLE);
            holder.tflGoodsTag.setAdapter(new TagAdapter<String>(goodsTag) {
                @Override
                public View getView(FlowLayout parent, int position, String s) {
                    TextView tv = (TextView) LayoutInflater.from(mContext).inflate(R.layout.item_goods_tag_bg, parent, false);
                    tv.setText(s);
                    return tv;
                }
            });
        } else {
            holder.tflGoodsTag.setVisibility(View.GONE);
        }
    }

    @Override
    public Spannable getContentSummary(GoodsMsg goodsMsg) {
        return null;
    }

    @Override
    public Spannable getContentSummary(Context context, GoodsMsg data) {
        return new SpannableString("[商品信息]");
    }

    @Override
    public void onItemClick(View view, int i, GoodsMsg goodsMsg, UIMessage uiMessage) {
        String goodsId = goodsMsg.getGoodsId();
        ARouter.getInstance()
                .build(CommonARouterPath.GOODS_DETAIL_ACTIVITY)
                .withString("id", goodsId)
                .navigation();
    }

    @Override
    public View newView(Context context, ViewGroup viewGroup) {
        View view = LayoutInflater.from(context).inflate(R.layout.item_goods_msg, null);
        view.setLayoutParams(new ViewGroup.LayoutParams((int) (ScreenUtil.getScreenWidth(context) * 2 / 3), ViewGroup.LayoutParams.WRAP_CONTENT));
        ViewHolder holder = new ViewHolder();
        holder.ivGoodsCover = view.findViewById(R.id.iv_goods_cover);
        holder.ivShopLogo = view.findViewById(R.id.iv_shop_logo);
        holder.tvGoodsPrice = view.findViewById(R.id.tv_goods_price);
        holder.tvGoodsName = view.findViewById(R.id.tv_goods_name);
        holder.tvShopName = view.findViewById(R.id.tv_shop_name);
        holder.tflGoodsTag = view.findViewById(R.id.tfl_goods_tag);
        view.setTag(holder);
        return view;
    }

    private static class ViewHolder {
        ImageView ivGoodsCover;
        CircleImageView ivShopLogo;
        TextView tvGoodsPrice, tvGoodsName, tvShopName;
        TagFlowLayout tflGoodsTag;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,608评论 28 53
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 6,232评论 4 8
  • 怎么对待生活,它也会怎么对你 人都是哭着来到这个美丽的人间。每个人从来到尘寰到升入天堂,整个生命的历程都是一本书,...
    静静在等你阅读 5,028评论 1 6