Sudhanshu Gaur
Sudhanshu Gaur

Reputation: 7664

In Realm `addchangelistener` know at which position element got inserted/updated/deleted?

In Realm addchangelistener can we know at which position list got changed, and does the element got inserted/updated/removed from the list ??

Upvotes: 1

Views: 183

Answers (1)

EpicPandaForce
EpicPandaForce

Reputation: 81539

can we know at which position list got changed

Yes

private RealmResults<Obj> results;

private OrderedRealmCollectionChangeListener<RealmResults<Obj>> changeListener = new OrderedRealmCollectionChangeListener<RealmResults<Obj>>() {
    @Override
    public void onChange(RealmResults<Obj> results, OrderedCollectionChangeSet changeSet) {
        String insertions = changeSet.getInsertions().length == 0 ? "" : "\n - Insertions: " + Arrays.toString(changeSet.getInsertions());
        String deletions = changeSet.getDeletions().length == 0 ? "" : "\n - Deletions: " + Arrays.toString(changeSet.getDeletions());
        String changes = changeSet.getChanges().length == 0 ? "" : "\n - Changes: " + Arrays.toString(changeSet.getChanges());
        showStatus("Obj was loaded, or written to. " + insertions + deletions + changes);
    }
};


public void ...() {
    results = realm.where(Obj.class)...findAllAsync();
    results.addChangeListener(changeListener);

Upvotes: 2

Related Questions