From 63608b5dca9eebb6fa2cb1a8652b395f1d910c3e Mon Sep 17 00:00:00 2001
From: 张钢 <floatgang@163.com>
Date: 星期一, 02 九月 2024 13:52:17 +0800
Subject: [PATCH] 对新接口进行了适配

---
 app/src/main/java/com/application/zhangshi_app_android/ui/function/ImageCarouselFragment.java |   87 +++++++++++++++++++++++++++++++++----------
 1 files changed, 67 insertions(+), 20 deletions(-)

diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/ImageCarouselFragment.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/ImageCarouselFragment.java
index 8eec0b0..4fde637 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/ImageCarouselFragment.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/ImageCarouselFragment.java
@@ -6,12 +6,16 @@
 import android.widget.FrameLayout;
 import android.widget.ImageView;
 
+import com.android.app_base.base.BaseConfig;
 import com.android.app_base.base.view.BaseFragment;
 import com.android.app_base.base.viewmodel.BaseViewModel;
 import com.android.app_base.utils.GlideUtil;
 import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.BannerBean;
 import com.application.zhangshi_app_android.databinding.FragmentImageCarouselBinding;
+import com.youth.banner.Banner;
 import com.youth.banner.adapter.BannerImageAdapter;
+import com.youth.banner.config.IndicatorConfig;
 import com.youth.banner.holder.BannerImageHolder;
 import com.youth.banner.indicator.CircleIndicator;
 
@@ -26,8 +30,9 @@
  */
 public class ImageCarouselFragment extends BaseFragment<FragmentImageCarouselBinding, ImageCarouselFragmentViewModel> {
 
-    private List<String> imageList;
-    private BannerImageAdapter<String> adapter;
+    private List<BannerBean> imageList;
+    private List<BannerBean> chooseList = new ArrayList<>();
+    private BannerImageAdapter<BannerBean> adapter;
     private ImageCarouselFragment() {
     }
 
@@ -38,22 +43,38 @@
         return fragment;
     }
 
-    public void setImageList(List<String> imageList) {
+    public void setImageList(List<BannerBean> imageList) {
         this.imageList = imageList;
         Bundle args = new Bundle();
         args.putSerializable("imgList", (Serializable) imageList);
         setArguments(args);
-        if (imageList == null || imageList.size() == 0) {
-            binding.layoutDataNull.setVisibility(View.VISIBLE);
-            binding.banner.setVisibility(View.GONE);
-        } else {
-            binding.layoutDataNull.setVisibility(View.GONE);
-            binding.banner.setVisibility(View.VISIBLE);
-            if (adapter != null) {
-                adapter.setDatas(imageList);
+
+        if (isAdded()){
+            if (imageList == null) {
+                return;
+            }
+            chooseList = new ArrayList<>();
+            //閫夊嚭琚�変腑鐨勫浘鐗�
+            for (BannerBean bean : imageList) {
+                if (bean.getChoose() == 1) {
+                    chooseList.add(bean);
+                }
+            }
+            if (chooseList == null || chooseList.size() == 0) {
+                binding.layoutDataNull.setVisibility(View.VISIBLE);
+                binding.banner.setVisibility(View.GONE);
+            } else {
+                binding.layoutDataNull.setVisibility(View.GONE);
+                binding.banner.setVisibility(View.VISIBLE);
+                if (adapter != null) {
+                    adapter.setDatas(chooseList);
+                }
             }
         }
+    }
 
+    public List<BannerBean> getImageList() {
+        return imageList;
     }
 
     @Override
@@ -69,16 +90,42 @@
     @Override
     protected void initParam() {
         if (getArguments() != null) {
-            imageList = (List<String>) getArguments().getSerializable("imgList");
+            imageList = (List<BannerBean>) getArguments().getSerializable("imgList");
+
         }
     }
 
     @Override
     protected void initView() {
-        adapter = new BannerImageAdapter<String>(imageList) {
+        if (imageList != null) {
+            chooseList = new ArrayList<>();
+            //閫夊嚭琚�変腑鐨勫浘鐗�
+            for (BannerBean bean : imageList) {
+                if (bean.getChoose() == 1) {
+                    chooseList.add(bean);
+                }
+            }
+            if (chooseList == null || chooseList.size() == 0) {
+                binding.layoutDataNull.setVisibility(View.VISIBLE);
+                binding.banner.setVisibility(View.GONE);
+            } else {
+                binding.layoutDataNull.setVisibility(View.GONE);
+                binding.banner.setVisibility(View.VISIBLE);
+                if (adapter != null) {
+                    adapter.setDatas(chooseList);
+                }
+            }
+        }
+        adapter = new BannerImageAdapter<BannerBean>(chooseList) {
             @Override
-            public void onBindView(BannerImageHolder holder, String data, int position, int size) {
-                GlideUtil.loadImage(data, holder.imageView);
+            public void onBindView(BannerImageHolder holder, BannerBean data, int position, int size) {
+                String url = data.getUrl();
+                if (url.contains("profile/upload")) {//濡傛灉鏄笂浼犲埌鏈嶅姟鍣ㄧ殑鍥剧墖
+                    //鍙彇profile/upload浠ュ悗鐨勯儴鍒�
+                    url = url.substring(url.indexOf("profile/upload"));
+                    url = BaseConfig.BASE_URL_DOMAIN + "/" + url;
+                }
+                GlideUtil.loadImage(url, holder.imageView);
             }
 
             @Override
@@ -89,24 +136,24 @@
                         ViewGroup.LayoutParams.MATCH_PARENT,
                         ViewGroup.LayoutParams.MATCH_PARENT);
                 imageView.setLayoutParams(params);
-                return new BannerImageHolder(imageView);                    }
+                imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
+                return new BannerImageHolder(imageView);
+            }
         };
         binding.banner.setAdapter(adapter)
                 .addBannerLifecycleObserver(this)//娣诲姞鐢熷懡鍛ㄦ湡瑙傚療鑰�
                 .setIndicator(new CircleIndicator(getSelfActivity()));
 
-        if (imageList == null || imageList.size() == 0) {
+        if (chooseList == null || chooseList.size() == 0) {
             binding.layoutDataNull.setVisibility(View.VISIBLE);
             binding.banner.setVisibility(View.GONE);
         } else {
             binding.layoutDataNull.setVisibility(View.GONE);
             binding.banner.setVisibility(View.VISIBLE);
             if (adapter != null) {
-                adapter.setDatas(imageList);
+                adapter.setDatas(chooseList);
             }
         }
-
-
     }
 
     @Override

--
Gitblit v1.9.1