kotlin 拡張機能/ io.realm.kotlin/ addCheckLister

addchangeLister

fun <E : RealmModel> E.addChangeListener(listener: RealmChangeListener<E>): Unit

値フィールドまたは参照された RealmObject フィールドが変更された場合、または RealmList フィールド自体が変更された場合にトリガーされる変更リスナーを RealmObject に追加します。

変更リスナーを登録しても、基礎となる RealmObject がガベージされるのを防ぐものではありません。 RealmObject がガベージ コレクションされると、変更リスナーはトリガーされなくなります。 これを回避するには、クラス変数内で適切な例がある限り、強力な参照を保持します。

class MyActivity : Activity {

    private var person: Person?

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        person = realm.where<Person>().findFirst()
        person?.addChangeListener(RealmChangeListener { person ->
            // React to change
        })
    }
}

パラメーター

listener - 通知される変更リスナー。

例外

IllegalArgumentException - objectnullまたは非管理オブジェクトである場合、または変更リスナーがnullの場合。

IllegalStateException - 非 loader または IntentService スレッドからリスナーを追加しようとする場合。

IllegalStateException - トランザクション内にリスナーを追加しようとする場合。

fun <E : RealmModel> E.addChangeListener(listener: RealmObjectChangeListener<E>): Unit

RealmObject に 変更リスナー を追加して、変更に関する詳細情報を取得します。 リスナーは、値フィールドまたは参照された RealmObject フィールドが変更された場合、または RealmList フィールド自体が変更された場合にトリガーされます。

変更リスナーを登録しても、基礎となる RealmObject がガベージされるのを防ぐものではありません。 RealmObject がガベージ コレクションされると、変更リスナーはトリガーされなくなります。 これを回避するには、クラス変数内で適切な例がある限り、強力な参照を保持します。

class MyActivity : Activity {

    private var person: Person?

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        person = realm.where<Person>().findFirst()
        person?.addChangeListener(RealmObjectChangeListener { person, changeSet ->
            // React to change
        })
    }
}

パラメーター

listener - 通知される変更リスナー。

例外

IllegalArgumentException - objectnullまたは非管理オブジェクトである場合、または変更リスナーがnullの場合。

IllegalStateException - 非 loader または IntentService スレッドからリスナーを追加しようとする場合。

IllegalStateException - トランザクション内にリスナーを追加しようとする場合。