TODO
- シンプルで扱いやすいenumを作る
実装
enum class
RecyclerType.kt
enum class RecyclerType constructor(val int: Int) {
BODY(1),
HEADER(2)
FOOTER(3);
companion object {
// enumへの変換を行う
fun fromInt(index: Int): RecyclerType {
return values().firstOrNull { it.int == index } ?: BODY
}
}
val isBody: Boolean
get() = this == BODY
val isFooter: Boolean
get() = this == FOOTER
}
呼び出し
RecyclerAdapter.kt
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
if(RecyclerType.fromInt(getItemViewType(position)).isBody){
// 処理
}
}
おまけ
enumで指定した値以外が来ないという場合は
first {} としても良い。
想定外の値が来た場合はexceptionで落ちる。
RecyclerType.kt
fun fromInt(index: Int): RecyclerType {
return values().first { it.int == index }
}