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