From 1df231fd6aafa221aef3532d069c7e27d4331be7 Mon Sep 17 00:00:00 2001 From: Linjiajia <319408893@qq.com> Date: 星期日, 27 八月 2023 19:21:01 +0800 Subject: [PATCH] 功能全部完成 --- app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivity.java | 52 +++++++++++++++++++++++++--------------------------- 1 files changed, 25 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivity.java index ba3af8f..188b023 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivity.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/LoginBgChangeActivity.java @@ -10,21 +10,16 @@ import com.android.app_base.base.view.BaseActivity; import com.android.app_base.manager.UserManager; import com.android.app_base.utils.SPUtils; -import com.android.app_base.utils.Utils; import com.application.zhangshi_app_android.BR; import com.application.zhangshi_app_android.R; -import com.application.zhangshi_app_android.adapter.ImageRvAdapter; -import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean; +import com.application.zhangshi_app_android.adapter.ElectronicFileAddAdapter; import com.application.zhangshi_app_android.databinding.ActivityLoginBgChangeBinding; import com.hjq.bar.TitleBar; import com.luck.picture.lib.entity.LocalMedia; import com.luck.picture.lib.interfaces.OnResultCallbackListener; -import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashSet; -import java.util.List; import java.util.Set; /** @@ -33,7 +28,7 @@ * @desc 鐧诲綍鑳屾櫙鏇存崲 Activity */ public class LoginBgChangeActivity extends BaseActivity<ActivityLoginBgChangeBinding,LoginBgChangeActivityViewModel> { - private ImageRvAdapter adapter; + private ElectronicFileAddAdapter adapter; private Set<String> loginBackgrounds; private String selectLoginBackground; @Override @@ -53,17 +48,29 @@ @Override public void initView() { - adapter = new ImageRvAdapter(this); + adapter = new ElectronicFileAddAdapter(this); GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3); binding.rvImage.setLayoutManager(gridLayoutManager); binding.rvImage.setNestedScrollingEnabled(false); - View footerView = View.inflate(this,R.layout.item_image_footer,null); - binding.rvImage.addFooterView(footerView); - binding.rvImage.requestLayout(); - footerView.setOnClickListener(new View.OnClickListener() { + adapter.setShowSelectIcon(true); + adapter.setItemAndAddClickListener(new ElectronicFileAddAdapter.OnItemAndAddClickListener() { @Override - public void onClick(View v) { - UserManager.getInstance().selectImage(getSelfActivity(), 9, new OnResultCallbackListener<LocalMedia>() { + public void onItemClick(View itemView, int position) { + if (selectLoginBackground != null && selectLoginBackground.equals(adapter.getItem(position))){ + selectLoginBackground = null; + adapter.clearSelectedItems(); + + }else { + selectLoginBackground = adapter.getItem(position); + adapter.changeSingleSelected(selectLoginBackground); + } + SPUtils.getInstance("loginBackground").put("selectLoginBackground",selectLoginBackground); + + } + + @Override + public void onAddClick() { + UserManager.getInstance().selectImage(getSelfActivity(), 1,9, new OnResultCallbackListener<LocalMedia>() { @Override public void onResult(ArrayList<LocalMedia> result) { if (result.size() == 0) return; @@ -90,25 +97,15 @@ @Override public void onChildClick(RecyclerView recyclerView, View childView, int position) { if (Boolean.TRUE.equals(viewModel.getTypeLiveData().getValue())){ - //TODO 鍒犻櫎鍥剧墖 -// viewModel.deleteFile(adapter.getItem(position)); loginBackgrounds.remove(adapter.getItem(position)); adapter.removeItem(position); SPUtils.getInstance("loginBackground").put("loginBackgrounds",loginBackgrounds); if (!loginBackgrounds.contains(selectLoginBackground)){ selectLoginBackground = null; + adapter.clearSelectedItems(); SPUtils.getInstance("loginBackground").put("selectLoginBackground",selectLoginBackground); } } - } - }); - adapter.setIsEdited(true); - adapter.setOnItemClickListener(new BaseRVAdapter.OnItemClickListener() { - @Override - public void onItemClick(RecyclerView recyclerView, View itemView, int position) { - selectLoginBackground = adapter.getItem(position); - adapter.setSelectPosition(selectLoginBackground); - SPUtils.getInstance("loginBackground").put("selectLoginBackground",selectLoginBackground); } }); binding.rvImage.setAdapter(adapter); @@ -131,7 +128,7 @@ for (String loginBackground : loginBackgrounds) { adapter.addItem(loginBackground); } - adapter.setSelectPosition(selectLoginBackground); + adapter.changeSingleSelected(selectLoginBackground); }else { loginBackgrounds = new HashSet<>(); } @@ -142,7 +139,8 @@ viewModel.getTypeLiveData().observe(this, new Observer<Boolean>() { @Override public void onChanged(Boolean aBoolean) { - adapter.setIsSelected(!aBoolean); + adapter.setIsEdited(aBoolean); + adapter.setPreview(!aBoolean); binding.ivOperate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { -- Gitblit v1.9.1