【问题标题】:Deleting a Realm object bound to ListView on Android Studio在 Android Studio 上删除绑定到 ListView 的 Realm 对象
【发布时间】:2017-05-14 23:39:08
【问题描述】:

我一直在使用 Android Studio 和 Realm 创建一个用于国际象棋记录的应用。问题是,每当我删除一个“游戏”(我创建的类)时,列表中的最后一个会代替已删除的一个(即 ListView 带有“游戏”“a”到“h”,我删除游戏“c” ,然后游戏'h'代替了'c'),我想知道是否有人遇到过同样的问题以及您是如何解决的。谢谢!

【问题讨论】:

  • 我认为问题在于您依赖于结果集中的位置,而不是将其与数据一起存储。
  • 所以你是说我应该把位置和模型一起存储?
  • 其实我猜你应该确保与findAllSorted的排序顺序
  • 是的,我在发布这个 xD 几个小时后就明白了,无论如何谢谢

标签: android realm


【解决方案1】:

Realm 中的数据默认情况下是未排序的,如果您不提供排序,我们不会对位置做出任何保证。您所看到的实际上是在删除数据的情况下的预期行为,因为我们将取出最后一项并将其放入现在空的位置(以避免在我们的内部数据结构中出现空值)。

使用findAllSorted() 而不是findAll() 应该可以解决这个问题。

【讨论】:

  • 谢谢!很有帮助!
猜你喜欢
  • 1970-01-01
  • 2016-08-12
  • 1970-01-01
  • 2017-04-07
  • 1970-01-01
  • 2017-01-30
  • 1970-01-01
  • 1970-01-01
  • 2016-02-18
相关资源
最近更新 更多