From ee396b3102f3934f032d1e18cb5ebc88b5613545 Mon Sep 17 00:00:00 2001 From: klaus Date: Fri, 3 Jan 2025 08:50:28 +0900 Subject: [PATCH] =?UTF-8?q?=EC=98=A4=EB=94=94=EC=85=98=20=ED=88=AC?= =?UTF-8?q?=ED=91=9C=20-=20=EC=95=88=EB=82=B4=20=ED=8C=9D=EC=97=85=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20-=20=ED=88=AC=ED=91=9C=EC=8B=9C=20?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=EA=B0=80=20=EB=B3=80=EA=B2=BD?= =?UTF-8?q?=EB=90=98=EC=A7=80=20=EC=95=8A=EB=8D=98=20=EB=B2=84=EA=B7=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../applicant/AuditionApplicantListAdapter.kt | 7 +++--- .../GetAuditionApplicantListResponse.kt | 2 +- .../role/AuditionRoleDetailActivity.kt | 16 +++++++++++++- .../role/AuditionRoleDetailViewModel.kt | 22 ++++++++++++++----- .../layout/activity_audition_role_detail.xml | 5 ++--- .../res/layout/item_audition_applicant.xml | 5 +++-- 6 files changed, 41 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audition/applicant/AuditionApplicantListAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/audition/applicant/AuditionApplicantListAdapter.kt index 8a98440..00b3d08 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audition/applicant/AuditionApplicantListAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audition/applicant/AuditionApplicantListAdapter.kt @@ -29,7 +29,7 @@ class AuditionApplicantListAdapter( oldItem: GetAuditionRoleApplicantItem, newItem: GetAuditionRoleApplicantItem ): Boolean { - return oldItem == newItem + return oldItem == newItem && oldItem.voteCount == newItem.voteCount } } @@ -41,6 +41,7 @@ class AuditionApplicantListAdapter( binding.ivPlayOrPause.setOnClickListener { onClickPlayOrPause(position) } binding.tvNickname.text = item.nickname + binding.tvCountVote.text = item.voteCount.toString() binding.ivProfile.load(item.profileImageUrl) { crossfade(true) placeholder(R.drawable.bg_placeholder) @@ -49,9 +50,9 @@ class AuditionApplicantListAdapter( binding.ivPlayOrPause.setImageResource( if (position == currentPlayingIndex) { - R.drawable.ic_audition_play - } else { R.drawable.ic_audition_pause + } else { + R.drawable.ic_audition_play } ) } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audition/applicant/GetAuditionApplicantListResponse.kt b/app/src/main/java/kr/co/vividnext/sodalive/audition/applicant/GetAuditionApplicantListResponse.kt index 4ecedf3..5771435 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audition/applicant/GetAuditionApplicantListResponse.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audition/applicant/GetAuditionApplicantListResponse.kt @@ -15,5 +15,5 @@ data class GetAuditionRoleApplicantItem( @SerializedName("nickname") val nickname: String, @SerializedName("profileImageUrl") val profileImageUrl: String, @SerializedName("voiceUrl") val voiceUrl: String, - @SerializedName("voteCount") var voteCount: Long + @SerializedName("voteCount") val voteCount: Long ) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audition/role/AuditionRoleDetailActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audition/role/AuditionRoleDetailActivity.kt index ce7e614..a484546 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audition/role/AuditionRoleDetailActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audition/role/AuditionRoleDetailActivity.kt @@ -40,6 +40,7 @@ class AuditionRoleDetailActivity : BaseActivity + if (index == position) { + item.copy(voteCount = item.voteCount + 1) + } else { + item + } + } _applicantListLiveData.value = updatedList!! } else { if (it.message != null) { @@ -310,7 +315,12 @@ class AuditionRoleDetailViewModel(private val repository: AuditionRepository) : } private fun addApplicantList(itemList: List) { - val updatedList = _applicantListLiveData.value?.toMutableList() ?: mutableListOf() + val updatedList = if (page == 1) { + mutableListOf() + } else { + _applicantListLiveData.value?.toMutableList() ?: mutableListOf() + } + updatedList.addAll(itemList) _applicantListLiveData.value = updatedList } diff --git a/app/src/main/res/layout/activity_audition_role_detail.xml b/app/src/main/res/layout/activity_audition_role_detail.xml index d7e538c..63ee072 100644 --- a/app/src/main/res/layout/activity_audition_role_detail.xml +++ b/app/src/main/res/layout/activity_audition_role_detail.xml @@ -134,7 +134,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/gmarket_sans_medium" - android:text="참여자" + android:text="참여자 " android:textColor="@color/color_bbbbbb" android:textSize="10.7sp" /> @@ -185,12 +185,11 @@ diff --git a/app/src/main/res/layout/item_audition_applicant.xml b/app/src/main/res/layout/item_audition_applicant.xml index e54281c..3c6835e 100644 --- a/app/src/main/res/layout/item_audition_applicant.xml +++ b/app/src/main/res/layout/item_audition_applicant.xml @@ -13,6 +13,7 @@ android:layout_width="40dp" android:layout_height="40dp" android:contentDescription="@null" + app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -45,9 +46,9 @@ android:layout_height="wrap_content" android:gravity="center" android:orientation="vertical" - app:layout_constraintBottom_toBottomOf="@+id/iv_profile" + app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="@+id/iv_profile" + app:layout_constraintTop_toTopOf="parent" tools:ignore="UseCompoundDrawables">