【问题标题】:How I delete data from 'Realm Database' on button click?如何在单击按钮时从“领域数据库”中删除数据?
【发布时间】:2020-04-16 11:33:11
【问题描述】:

如何在按钮点击事件中从realm 中删除特定数据?

我有一个RecyclerView,并在其中设置了CardView,其中设置了我的EditText 和删除按钮。我希望当我按下CardView 上的删除按钮时,数据将从CardViewrealm 数据库中删除。我尝试了更多的努力,但我没有成功。

活动屏幕:

【问题讨论】:

标签: android realm


【解决方案1】:

使用deleteFromRealm()删除特定记录

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

【讨论】:

    【解决方案2】:

    您可以使用rows.clear(); 了解更多信息,请访问此处https://stackoverflow.com/a/36736415/9315408

    【讨论】:

      【解决方案3】:

      在 0.88.3 版本的 Realm 中,使用 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();
        }
      });
      

      从 0.89 版本的 Realm 开始,改用 deleteAllFromRealm()

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

      【讨论】:

        猜你喜欢
        • 2018-06-08
        • 2021-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-18
        • 1970-01-01
        • 2016-01-04
        • 1970-01-01
        相关资源
        最近更新 更多