1

How can I delete specific data from realm on button click event?

I have an RecyclerView and in it I set CardView where my EditText and delete button is set. I want that when I press delete button on CardView the data is deleted from CardView and also from realm database. I try more effort but I could not get success.

Activity Screen:

Activity Screen

halfer
  • 19,824
  • 17
  • 99
  • 186
shanimalik
  • 35
  • 7

3 Answers3

1

Use deleteFromRealm() to delete specific record

  val realm: Realm = Realm.getDefaultInstance()
            try {
                realm.executeTransaction {
                    val info = realm.where<CLASS>() // replace your realm class file
                            .equalTo(KEY, VALUE)  // match data with key - value pair
                            .findFirst()
                    info?.deleteFromRealm() // delete from realm
                }
            } finally {
                realm.close()
            }
Nik
  • 1,991
  • 2
  • 13
  • 30
0

You can Use rows.clear(); for more information visit here https://stackoverflow.com/a/36736415/9315408

0

In 0.88.3, version of Realm, use clear()

realm.executeTransaction(new Realm.Transaction() {
  @Override
  public void execute(Realm realm) {
      RealmResults<User> rows = realm.where(User.class).equalTo(User.USER_ID,userId).findAll();
      rows.clear();
  }
});

From 0.89 version of Realm, use deleteAllFromRealm() instead.

realm.executeTransaction(new Realm.Transaction() {
  @Override
  public void execute(Realm realm) {
      RealmResults<User> result = realm.where(User.class).equalTo(User.USER_ID,userId).findAll();
      result.deleteAllFromRealm();
  }
});
Krishna Vyas
  • 1,009
  • 8
  • 25