张钢
2024-09-02 63608b5dca9eebb6fa2cb1a8652b395f1d910c3e
app/src/main/java/com/application/zhangshi_app_android/ui/function/ImageCarouselFragment.java
@@ -6,13 +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;
@@ -45,21 +48,27 @@
        Bundle args = new Bundle();
        args.putSerializable("imgList", (Serializable) imageList);
        setArguments(args);
        chooseList = new ArrayList<>();
        //选出被选中的图片
        for (BannerBean bean : imageList) {
            if (bean.getChoose() == 1) {
                chooseList.add(bean);
        if (isAdded()){
            if (imageList == null) {
                return;
            }
        }
        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);
            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);
                }
            }
        }
    }
@@ -82,14 +91,7 @@
    protected void initParam() {
        if (getArguments() != null) {
            imageList = (List<BannerBean>) getArguments().getSerializable("imgList");
            if (imageList != null){
                chooseList = new ArrayList<>();
                for (BannerBean bannerBean : imageList) {
                    if (bannerBean.getChoose() == 1){
                        chooseList.add(bannerBean);
                    }
                }
            }
        }
    }
@@ -97,16 +99,33 @@
    protected void initView() {
        if (imageList != null) {
            chooseList = new ArrayList<>();
            for (BannerBean bannerBean : imageList) {
                if (bannerBean.getChoose() == 1){
                    chooseList.add(bannerBean);
            //选出被选中的图片
            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, BannerBean data, int position, int size) {
                GlideUtil.loadImage(data.getUrl(), holder.imageView);
                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