From ddff7888bf7e754d12fb5fc85a58f3012f456490 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 05 六月 2021 17:26:03 +0800
Subject: [PATCH] 特价完善

---
 app/src/main/java/com/tejia/lijin/app/ui/trends/SendCircleAdapter.java |  174 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 92 insertions(+), 82 deletions(-)

diff --git a/app/src/main/java/com/tejia/lijin/app/ui/trends/SendCircleAdapter.java b/app/src/main/java/com/tejia/lijin/app/ui/trends/SendCircleAdapter.java
index 305192c..77b1014 100644
--- a/app/src/main/java/com/tejia/lijin/app/ui/trends/SendCircleAdapter.java
+++ b/app/src/main/java/com/tejia/lijin/app/ui/trends/SendCircleAdapter.java
@@ -3,17 +3,12 @@
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
-import android.graphics.Paint;
+import android.graphics.Color;
 import android.graphics.Rect;
-import androidx.annotation.NonNull;
-import androidx.viewpager.widget.ViewPager;
-import androidx.recyclerview.widget.GridLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
+import android.graphics.drawable.Drawable;
+import android.text.Html;
 import android.text.Layout;
-import android.text.Spannable;
-import android.text.SpannableString;
-import android.text.Spanned;
-import android.text.style.RelativeSizeSpan;
+import android.text.method.LinkMovementMethod;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -30,10 +25,6 @@
 import com.nostra13.universalimageloader.core.ImageLoader;
 import com.nostra13.universalimageloader.core.assist.ImageScaleType;
 import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
-import com.viewpagerindicator.CirclePageIndicator;
-import com.wpc.library.util.SystemCommon;
-import com.wpc.library.util.common.DimenUtils;
-import com.wpc.library.widget.RatioLayout;
 import com.tejia.lijin.app.R;
 import com.tejia.lijin.app.entity.HomeBanner;
 import com.tejia.lijin.app.entity.Label;
@@ -45,20 +36,33 @@
 import com.tejia.lijin.app.entity.trends.SendCircleImageGoods;
 import com.tejia.lijin.app.entity.trends.SendCircleUser;
 import com.tejia.lijin.app.ui.invite.ShareBrowserActivity;
+import com.tejia.lijin.app.ui.recommend.GoodsDetailActivity;
 import com.tejia.lijin.app.ui.recommend.RecommendTopAdapter2;
 import com.tejia.lijin.app.util.SetLabels;
 import com.tejia.lijin.app.util.downutil.StringUtils;
-import com.tejia.lijin.app.util.goods.GoodsDetailJumpUtil;
+import com.tejia.lijin.app.util.goods.GoodsDetailListUtil;
+import com.tejia.lijin.app.util.ui.GoodsRightViewHolder;
+import com.tejia.lijin.app.util.ui.TextViewUtil;
 import com.tejia.lijin.app.util.user.UserUtil;
+import com.viewpagerindicator.CirclePageIndicator;
+import com.wpc.library.util.SystemCommon;
+import com.wpc.library.util.common.DimenUtils;
+import com.wpc.library.widget.RatioLayout;
 
 import java.util.ArrayList;
 import java.util.List;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.viewpager.widget.ViewPager;
 
 /**
  * 鍙戝湀adapter
  */
 public class SendCircleAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
 
+    private static final String TAG = "SendCircleAdapter";
     private List<HomeBanner> mBannerList;
     private List<SendCircleContent> mContentList;
     private Activity mContext;
@@ -140,8 +144,9 @@
                 SendCircleImageGoods imageGoods = imageList.get(position).getGoods();
                 int goodsType = imageGoods.getGoodsType();
                 //璺宠浆鍟嗗搧璇︽儏
-                Intent intent = GoodsDetailJumpUtil.getGoodsDetailIntent(mContext, imageGoods.getGoodsType());
-                intent.putExtra("id", imageGoods.getGoodsId() + "");
+                Intent intent = new Intent(mContext, GoodsDetailActivity.class);
+                intent.putExtra("goodsId", imageGoods.getGoodsId());
+                intent.putExtra("goodsType", goodsType);
                 intent.putExtra("from", "faquan");
                 mContext.startActivity(intent);
             }
@@ -319,10 +324,10 @@
 
 
             if (circleContentHolder.rv_content.getItemDecorationCount() == 0) {
-                circleContentHolder.rv_content.addItemDecoration(new SpaceItemDecoration(largeImageCount, smallImageCount + invalidImageCount, goodsCount, commentCount, circleContent.getLineNum(), DimenUtils.dip2px(mContext, 2)));
+                circleContentHolder.rv_content.addItemDecoration(new SpaceItemDecoration(largeImageCount, smallImageCount + invalidImageCount, goodsCount, commentCount, circleContent.getLineNum(), DimenUtils.dip2px(mContext, 1)));
             } else {
                 SpaceItemDecoration spaceItemDecoration = (SpaceItemDecoration) circleContentHolder.rv_content.getItemDecorationAt(0);
-                spaceItemDecoration.initData(largeImageCount, smallImageCount + invalidImageCount, goodsCount, commentCount, circleContent.getLineNum(), DimenUtils.dip2px(mContext, 2));
+                spaceItemDecoration.initData(largeImageCount, smallImageCount + invalidImageCount, goodsCount, commentCount, circleContent.getLineNum(), DimenUtils.dip2px(mContext, 1));
             }
 
             if (maxImgHeight == null) {
@@ -489,7 +494,7 @@
 
         public SendCircleContentAdapter(Context context, SendCircleContent content, int maxImgHeight, int maxImgWidth, CommentClickListener commentClickListener, ImgClickListener imgClickListener, int outPosition) {
             this.outPosition = outPosition;
-            options = new RequestOptions().skipMemoryCache(false).centerCrop().placeholder(R.drawable.ic_send_circle_default).diskCacheStrategy(DiskCacheStrategy.ALL).error(R.drawable.ic_send_circle_default);
+            options = new RequestOptions().skipMemoryCache(false).centerCrop().placeholder(R.color.send_circle_img_default_color).diskCacheStrategy(DiskCacheStrategy.ALL).error(R.color.send_circle_img_default_color);
             this.content = content;
             this.context = context;
             if (content.getImgList() != null)
@@ -595,7 +600,7 @@
                     if (imgInfo.isLarge())
                         width = maxImgWidth;
                     else {
-                        width = (maxImgWidth - DimenUtils.dip2px(mContext, 2) * 8) / 3;
+                        width = (maxImgWidth - DimenUtils.dip2px(mContext, 2) * 3) / 3;
                     }
                     height = (int) (width * ratio);
                     params.width = width;
@@ -667,48 +672,11 @@
                 });
 
             } else if (holder1 instanceof GoodsViewHolder) {
+
+
                 GoodsViewHolder goodsViewHolder = (GoodsViewHolder) holder1;
-
-                final TaoBaoGoodsBrief info = goods;
-                String disCount;
-                if (info.isHasCoupon()) {
-                    goodsViewHolder.ll_coupon_bg.setVisibility(View.VISIBLE);
-                    disCount = "楼 " + info.getCouponPrice();
-                    goodsViewHolder.tv_coupon_price.setText("楼 " + info.getCouponInfo().getAmount());
-                } else {
-                    goodsViewHolder.ll_coupon_bg.setVisibility(View.GONE);
-                    disCount = "楼 " + info.getZkPrice();
-                }
-
-                if (info.getShopType() == 11) {//澶╃尗
-                    goodsViewHolder.iv_shop_type.setImageResource(R.drawable.ic_tmall);
-                } else if (info.getShopType() == 20 || info.getShopType() == 21) {
-                    goodsViewHolder.iv_shop_type.setImageResource(R.drawable.ic_jingdong);
-                } else if (info.getShopType() == 30) {
-                    goodsViewHolder.iv_shop_type.setImageResource(R.drawable.ic_pinduoduo);
-                } else {
-                    goodsViewHolder.iv_shop_type.setImageResource(R.drawable.icon);
-                }
-
-                int pos = disCount.indexOf(".");
-                Spannable span = new SpannableString(disCount);
-                span.setSpan(new RelativeSizeSpan(1.54f), 1, pos > 1 ? pos : disCount.length(),
-                        Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                goodsViewHolder.tv_price.setText(span);
-
-                goodsViewHolder.tv_sales_num.setText(info.getSalesType() == 1 ? "鏈堥攢 " + info.getSalesCount() :
-                        info.getSalesType() == 2 ? "2灏忔椂閿�閲� " + info.getSalesCount() : info.getSalesType() == 3 ?
-                                "浠婃棩閿�閲� " + info.getSalesCount() : "鎬婚攢閲� " + info.getSalesCount());
-
-
-                goodsViewHolder.tv_zkprice.setText("楼" + info.getZkPrice());
-                goodsViewHolder.tv_zkprice.setPaintFlags(goodsViewHolder.tv_zkprice.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
-
-                goodsViewHolder.tv_favourable.setBackgroundResource(R.drawable.shape_goods_list_price_fan);
-                goodsViewHolder.tv_favourable.setText(" 濂� " + info.getMoneyInfo().getShareMoney());
-                goodsViewHolder.tv_favourable.setVisibility(View.GONE);
-
-                if (info.getState() != 0) {
+                GoodsDetailListUtil.setGoodsDetail(context, content.getGoods(), goodsViewHolder.goodsRightViewHolder);
+                if (content.getGoods().getState() != 0) {
                     goodsViewHolder.view.setOnClickListener(null);
                     goodsViewHolder.iv_state_invalid.setVisibility(View.VISIBLE);
                 } else {
@@ -717,8 +685,9 @@
                         @Override
                         public void onClick(View v) {
                             //璺宠浆鍟嗗搧璇︽儏
-                            Intent intent = GoodsDetailJumpUtil.getGoodsDetailIntent(mContext, info.getGoodsType());
-                            intent.putExtra("id", info.getGoodsId());
+                            Intent intent = new Intent(mContext, GoodsDetailActivity.class);
+                            intent.putExtra("goodsId", content.getGoods().getGoodsId());
+                            intent.putExtra("goodsType", content.getGoods().getGoodsType());
                             intent.putExtra("from", "faquan");
                             mContext.startActivity(intent);
                         }
@@ -762,11 +731,32 @@
                     holder.ll_tag.setVisibility(View.GONE);
                 }
 
+
+                holder.tv_content.setClickable(false);
                 if (StringUtils.isNullOrEmpty(comment.getContent())) {
                     holder.ll_content.setVisibility(View.GONE);
                 } else {
                     holder.ll_content.setVisibility(View.VISIBLE);
-                    holder.tv_content.setText(comment.getContent());
+                    String content = comment.getContent();
+                    content += "<img src='icon_common_emoji_link' /> <a href='test:http://www.baidu.com'>杩欐槸涓彲浠ョ偣鍑荤殑閾炬帴</a> 娴嬭瘯12312312123";
+                    holder.tv_content.setText(TextViewUtil.getClickableHtml(Html.fromHtml(content, new Html.ImageGetter() {
+                        @Override
+                        public Drawable getDrawable(String source) {
+                            try {
+                                int resId = context.getResources().getIdentifier(source, "drawable", context.getPackageName());
+                                Drawable drawable = context.getResources().getDrawable(resId);
+                                drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
+                                return drawable;
+                            } catch (Exception e) {
+                                return null;
+                            }
+                        }
+                    }, null), context, Color.parseColor("#586b95")));
+
+                    holder.tv_content.setMovementMethod(LinkMovementMethod.getInstance());
+                    holder.tv_content.setFocusable(false);
+                    holder.tv_content.setClickable(false);
+                    holder.tv_content.setLongClickable(false);
                 }
 
                 holder.tv_content.setMaxLines(6);
@@ -775,7 +765,7 @@
 //                    holder.tv_type.setVisibility(View.VISIBLE);
 //                    holder.tv_type.setText(comment.getType());
 //                } else {
-                    holder.tv_type.setVisibility(View.GONE);
+                holder.tv_type.setVisibility(View.GONE);
 //                }
 
                 holder.tv_content.post(new Runnable() {
@@ -884,7 +874,7 @@
             private ImageView iv_in;
             private TextView tv_content;
             private TextView tv_type;
-            private LinearLayout  ll_content;
+            private LinearLayout ll_content;
             private ImageView iv_comment_more;
 
             public CommentViewHolder(View view) {
@@ -915,23 +905,15 @@
 
         class GoodsViewHolder extends RecyclerView.ViewHolder {
             private View view;
-            //鍟嗗搧淇℃伅鎺т欢
-            private TextView tv_price, tv_zkprice, tv_sales_num, tv_coupon_price, tv_favourable;
-            private LinearLayout ll_coupon_bg;
+            private GoodsRightViewHolder goodsRightViewHolder;
             //杩囨湡鏍囪瘑
-            private ImageView iv_state_invalid, iv_shop_type;
+            private ImageView iv_state_invalid;
 
             public GoodsViewHolder(View view) {
                 super(view);
                 this.view = view;
-                tv_price = view.findViewById(R.id.tv_price);
-                tv_zkprice = view.findViewById(R.id.tv_zkprice);
-                tv_sales_num = view.findViewById(R.id.tv_sales_num);
-                tv_coupon_price = view.findViewById(R.id.tv_coupon_price1);
-                tv_favourable = view.findViewById(R.id.tv_favourable);
-                ll_coupon_bg = view.findViewById(R.id.ll_coupon_bg1);
                 iv_state_invalid = view.findViewById(R.id.iv_state_invalid);
-                iv_shop_type = view.findViewById(R.id.iv_shop_type);
+                goodsRightViewHolder = new GoodsRightViewHolder(view);
             }
         }
     }
@@ -966,7 +948,7 @@
         public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
             int position = parent.getChildLayoutPosition(view);
             if (position < largeImgCount) {
-                outRect.bottom = space * 3;
+                outRect.bottom = space * 6;
                 if (position == 0)
                     outRect.top = 0;
             } else if (position < largeImgCount + smallImageCount) {
@@ -985,14 +967,22 @@
                     outRect.left = space;
                     outRect.right = space;
                 }
+                //鍒ゆ柇鏄惁涓烘渶鍚庝竴琛�
+                int currentRow = cposition / lineNum;
+                int totalRow = smallImageCount % lineNum == 0 ? smallImageCount / lineNum : smallImageCount / lineNum + 1;
+                if (currentRow + 1 == totalRow) {
+                    outRect.bottom = space * 6;
+                }
+
+
             } else if (position < largeImgCount + smallImageCount + goodsCount) {
-                outRect.bottom = space;
+                outRect.bottom = space * 3;
                 outRect.top = 0;
                 outRect.left = 0;
                 outRect.right = 0;
             } else if (position < largeImgCount + smallImageCount + goodsCount + commentCount) {
-                outRect.bottom = space * 2;
-                outRect.top = space * 2;
+                outRect.bottom = space * 3;
+                outRect.top = space * 3;
                 int cposition = position - (largeImgCount + smallImageCount + goodsCount + commentCount);
                 if (cposition == 0 && goodsCount > 0)
                     outRect.top = 0;
@@ -1007,11 +997,31 @@
         public void onClick(int position);
     }
 
-    interface CommentClickListener {
+    public interface CommentClickListener {
         //鏍囩鐐瑰嚮
         public void onTagClick(int position);
 
         //澶嶅埗鐐瑰嚮
         public void onCopyClick(int position);
     }
+
+    //adapter涓殑浜嬩欢鍝嶅簲
+    public interface AdapterEventActionListener {
+        //澶嶅埗璇勮
+        public void copyComment(SendCircleContent content, SendCircleCommment comment);
+
+        //鐢熸垚浜岀淮鐮�
+        public void createERCode(SendCircleContent content, List<SendCircleImage> imgList, SendCircleImage img, int position);
+
+        //鍒嗕韩
+        public void share(SendCircleContent content);
+
+        //鎵归噺瀛樺浘
+        public void saveImgs(SendCircleContent content);
+
+        //澶嶅埗鎺ㄨ崘璇�
+        public void copyRecommendText(SendCircleContent content);
+
+        public void sendOrder(SendCircleContent content);
+    }
 }

--
Gitblit v1.8.0