From 76350f6a2244789fdf677ab3d655cc76de078a52 Mon Sep 17 00:00:00 2001 From: 0zlrlo <99941493+0zlrlo@users.noreply.github.com> Date: Wed, 5 Jul 2023 23:54:15 +0900 Subject: [PATCH] =?UTF-8?q?[FEAT/#32]=20=EB=A7=8C=EC=95=BD=EC=97=90=20?= =?UTF-8?q?=EB=8B=A4=20=EC=82=AD=EC=A0=9C=ED=95=98=EC=97=AC=20=EC=A2=8B?= =?UTF-8?q?=EC=95=84=EC=9A=94=EC=97=90=20=EB=82=A8=EC=9D=80=20=EA=B0=9C?= =?UTF-8?q?=EC=88=98=EA=B0=80=200=EA=B0=9C=EC=9D=B4=EB=A9=B4=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C=EB=B2=84=ED=8A=BC=20=EB=B9=84=ED=99=9C=EC=84=B1?= =?UTF-8?q?=ED=99=94=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/main/like/LikeAdapter.kt | 4 ---- .../presentation/main/like/LikeFragment.kt | 10 ++++++++-- .../presentation/main/like/LikeViewModel.kt | 16 +++++++++++----- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/release/keyneez/presentation/main/like/LikeAdapter.kt b/app/src/main/java/com/release/keyneez/presentation/main/like/LikeAdapter.kt index 146551d..6f1d73a 100644 --- a/app/src/main/java/com/release/keyneez/presentation/main/like/LikeAdapter.kt +++ b/app/src/main/java/com/release/keyneez/presentation/main/like/LikeAdapter.kt @@ -13,15 +13,12 @@ import com.release.keyneez.util.extension.setOnSingleClickListener class LikeAdapter( private val setItemsSelected: (Int) -> List, - private val getSelectedIdsCount: (Int) -> Int, private val isEdit: LiveData ) : ListAdapter(diffUtil) { - private var selectedActivity = arrayListOf() inner class LikeViewHolder( private val binding: ItemLikeContentBinding, private val setItemsSelected: (Int) -> List, - private val getSelectedIdsCount: (Int) -> Int, private val isEdit: LiveData ) : RecyclerView.ViewHolder(binding.root) { fun bind(item: Activity) { @@ -50,7 +47,6 @@ class LikeAdapter( return LikeViewHolder( binding, setItemsSelected, - getSelectedIdsCount, isEdit ) } diff --git a/app/src/main/java/com/release/keyneez/presentation/main/like/LikeFragment.kt b/app/src/main/java/com/release/keyneez/presentation/main/like/LikeFragment.kt index 209c19c..ed89f2c 100644 --- a/app/src/main/java/com/release/keyneez/presentation/main/like/LikeFragment.kt +++ b/app/src/main/java/com/release/keyneez/presentation/main/like/LikeFragment.kt @@ -37,7 +37,6 @@ class LikeFragment : private fun initLikeAdapter() { likeAdapter = LikeAdapter( setItemsSelected = likeViewModel::setItemsSelected, - getSelectedIdsCount = likeViewModel::getSelectedIdsCount, isEdit = likeViewModel.isEdit ) binding.rvLike.adapter = likeAdapter @@ -59,7 +58,6 @@ class LikeFragment : private fun initEditBtnClickListener() { binding.btnEdit.setOnSingleClickListener { - Log.d("1", "제발삭제버튼") likeViewModel.deleteSelectedItems() BindingToast.initLikeDeleteToast( requireContext(), @@ -76,6 +74,14 @@ class LikeFragment : likeViewModel.activityList.observe(viewLifecycleOwner) { activityList -> likeList = activityList likeAdapter?.submitList(activityList) + if (likeViewModel.isEdit.value == false) { + Log.d("1", "false일 때") + binding.tvLikeNum.setText(likeList.size.toString()) + } else { + Log.d("1", "true일 때") + binding.tvLikeNum.setText(likeViewModel.getSelectedIdsCount().toString()) + } + binding.btnLikeEdit.isEnabled = likeList.isNotEmpty() } } diff --git a/app/src/main/java/com/release/keyneez/presentation/main/like/LikeViewModel.kt b/app/src/main/java/com/release/keyneez/presentation/main/like/LikeViewModel.kt index 12abdb0..247f906 100644 --- a/app/src/main/java/com/release/keyneez/presentation/main/like/LikeViewModel.kt +++ b/app/src/main/java/com/release/keyneez/presentation/main/like/LikeViewModel.kt @@ -11,6 +11,9 @@ class LikeViewModel : ViewModel() { private val _isEdit = MutableLiveData() private val _isSelected = MutableLiveData() private val _selectedIds = MutableLiveData>() + private val _selectedCount = MutableLiveData() + val selectedCount: LiveData + get() = _selectedCount val activityList: LiveData> get() = _activityList val isEdit: LiveData @@ -21,6 +24,7 @@ class LikeViewModel : ViewModel() { init { getLikeActivityList() + getSelectedIdsCount() _isEdit.value = false _isSelected.value = false _selectedIds.value = emptyList().toMutableList() @@ -34,18 +38,20 @@ class LikeViewModel : ViewModel() { selectedIdsList.add(id) } _selectedIds.value = selectedIdsList + getSelectedIdsCount() return selectedIdsList.toList() } - fun getSelectedIdsCount(id: Int): Int { - val selectedIdsList = _selectedIds.value ?: mutableListOf() - return selectedIdsList.size - } - fun updateEditView() { _isEdit.value = _isEdit.value?.not() } + fun getSelectedIdsCount() { + val selectedIdsList = _selectedIds.value ?: mutableListOf() + val selectedCount = selectedIdsList.size + _selectedCount.value = selectedCount + } + fun updateSelected() { _isSelected.value = _isSelected.value?.not() }