[Kotlin]扱いやすいenum
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 }
}
Author And Source
この問題について([Kotlin]扱いやすいenum), 我々は、より多くの情報をここで見つけました https://qiita.com/ijichi_y/items/61d32c0affb36dec8387著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .