enum ListItemType {
case header(Int, String)
case row1(Int, String, Int)
case row2(Int, String)
case row3(Int, String)
case footer(Int, String)
}
4XJGU&OVN
4XJGU&OVN"TTPDJBUFE7BMVFTͱ
ΞϓϩʔνʢجఈΫϥεʣ
open class BaseListItem(
open val id: Int,
open val title: String
)
data class ListItem1(
override val id: Int,
override val title: String,
val mainImageUrl: Int
) : BaseListItem(id, title)
data class ListItem2(
override val id: Int,
override val title: String,
val mainImageUrl: String,
val subImageUrl: String
) : BaseListItem(id, title)
,PUMJOͰΤϛϡϨʔτ͢Δʹ
Slide 19
Slide 19 text
ΞϓϩʔνʢλΠϓ͚ʣ
λΠϓΫϥεΛ࡞ͬͯཧ͢Δ
,PUMJOͰΤϛϡϨʔτ͢Δʹ
Slide 20
Slide 20 text
ΞϓϩʔνʢλΠϓ͚ʣ
enum class ListItemType {
HEADER, ROW1, ROW2, ROW3, FOOTER
}
data class ListItem(val id: String = "",
val title: String = "",
val type: ListItemType = ListItemType.HEADER)
,PUMJOͰΤϛϡϨʔτ͢Δʹ
sealed class ListItemType {
class Header(val id: Int, val title: String) : ListItemType()
class Footer(val id: Int, val title: String) : ListItemType()
}
,PUMJOͰΤϛϡϨʔτ͢Δʹ
sealed class ListItemType {
data class Header(val id: Int, val title: String) : ListItemType()
data class Row1(val id: Int, val title: String, val imageUrl: String) : ListItemType()
data class Row2(val id: Int, val title: String) : ListItemType()
data class Row3(val id: Int, val title: String) : ListItemType()
data class Footer(val id: Int, val title: String) : ListItemType()
}
,PUMJOͰΤϛϡϨʔτ͢Δʹ
sealed class ListItemType {
data class Header(val id: Int, val title: String) : ListItemType()
data class Row1(val id: Int, val title: String, val imageUrl: String) : ListItemType()
data class Row2(val id: Int, val title: String) : ListItemType()
data class Row3(val id: Int, val title: String) : ListItemType()
data class Footer() : ListItemType() // ίϯύΠϧΤϥʔ
}
,PUMJOͰΤϛϡϨʔτ͢Δʹ
Slide 33
Slide 33 text
Ҿͷͳ͍ͷʹ͍ͭͯɺ$MBTTͰ
ఆٛ͢Εྑͦ͞͏
,PUMJOͰΤϛϡϨʔτ͢Δʹ
Slide 34
Slide 34 text
sealed class ListItemType {
data class Header(val id: Int, val title: String) : ListItemType()
data class Row1(val id: Int, val title: String, val imageUrl: String) : ListItemType()
data class Row2(val id: Int, val title: String) : ListItemType()
data class Row3(val id: Int, val title: String) : ListItemType()
class Footer() : ListItemType()
}
,PUMJOͰΤϛϡϨʔτ͢Δʹ