Skip to main content

StateFlowで同じ値を二度送ると二度コールバックが呼ばれるようにする

こんなケースないって思う人が大半な気がするけどw
コーディングしてたら出てきたのでこのやり方


・実装
equalsとhashCodeで同じかどうかを判断してるので
これを上書きして同じものとしないようにすることで解決
Enumの人はsealed classにしましょう

sealed class Hoge {
    override fun equals(other: Any?): Boolean {
        return false
    }

    override fun hashCode(): Int {
        return Random.nextInt()
    }
}

https://stackoverflow.com/questions/62331931/mutablestateflow-is-not-emitting-values-after-1st-emit-kotlin-coroutine

関連記事:

Pocket