kotlin-extensions / io.realm.kotlin / addChangeListener

addChangeListener

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

Adiciona um ouvinte de alterações a um RealmObject que será acionado se qualquer campo de valor ou campo RealmObject referenciado for alterado ou se o próprio campo RealmList for alterado.

Registering a change listener will not prevent the underlying RealmObject from being garbage collected. Se o RealmObject for coletado como lixo, o ouvinte de alterações deixará de ser acionado. Para evitar isso, mantenha uma referência forte pelo tempo apropriado, por exemplo, em uma variável de classe.

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
        })
    }
}

Parâmetros

listener - o ouvinte de alterações a ser notificado.

Exceções

IllegalArgumentException - se o object for null ou um objeto não gerenciado, ou o ouvinte de alterações for null .

IllegalStateException - se você tentar adicionar um ouvinte de um tópico não loop de eventos ou IntentService.

IllegalStateException - se você tentar adicionar um ouvinte dentro de uma transação.

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

Adiciona um ouvinte de alterações a um RealmObject para obter informações detalhadas sobre as alterações. O ouvinte será acionado se qualquer campo de valor ou campo RealmObject referenciado for alterado, ou se o próprio campo RealmList for alterado.

Registering a change listener will not prevent the underlying RealmObject from being garbage collected. Se o RealmObject for coletado como lixo, o ouvinte de alterações deixará de ser acionado. Para evitar isso, mantenha uma referência forte pelo tempo apropriado, por exemplo, em uma variável de classe.

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
        })
    }
}

Parâmetros

listener - o ouvinte de alterações a ser notificado.

Exceções

IllegalArgumentException - se o object for null ou um objeto não gerenciado, ou o ouvinte de alterações for null .

IllegalStateException - se você tentar adicionar um ouvinte de um tópico não loop de eventos ou IntentService.

IllegalStateException - se você tentar adicionar um ouvinte dentro de uma transação.