•
서버로부터카테고리리스트를받는다
◦
맨앞에확정을붙인다
◦
맨뒤에+를붙인다
◦
{확정, 맛집, 카페, +}이런식이될거다
◦
뷰홀더를다르게둔다→클릭리스너를다르게가져가기위해
•
롱클릭리스너를달고
◦
편집모드인지아닌지를판단할것이다.
◦
longclick했을때편집모드라면→return
◦
longclick했을때편집모드가아니라면→편집모드로갱신(.map을사용할듯?)→리스트를다시뿌린다
◦
이때+를완료로변경한다→즉,완료를눌러야편집모드를종료
요약
•
확정및카테고리
◦
일반클릭리스너→뷰모델에카테고리를설정(자기자신으로)
◦
롱클릭리스너→편집모드설정
•
+버튼
◦
다이얼로그표시
•
완료버튼
◦
편집모드취소
•
{확정(false),맛집(false),카페(false),+}에서 편집모드
◦
→{확정(true),맛집(true),카페(true),완료}로리스트갱신
◦
완료누르면다시{확정(false),맛집(false),카페(false),+}
•
편집모드에서x누르면삭제요청
◦
x터치영역이너무작아보이는데안겹치려나의문
◦
삭제완료되면notify
sealed class SealedPromisePlaceCategory {
object PromisePlaceDecided : SealedPromisePlaceCategory() {
override val id: Int
get() = Int.MIN_VALUE
}
data class PromisePlaceCategory(
val entity: PromisePlaceCategoryEntity,
) : SealedPromisePlaceCategory() {
override val id: Int
get() = entity.id
}
object PromisePlaceCategoryAdd : SealedPromisePlaceCategory() {
override val id: Int
get() = Int.MIN_VALUE + 1
}
object PromisePlaceCategoryAddConfirm : SealedPromisePlaceCategory() {
override val id: Int
get() = Int.MIN_VALUE + 2
}
abstract val id: Int
}
Kotlin
복사