android - Geoquery 填充 ListView/RecyclerView

标签 android listview firebase android-recyclerview geofire

我正在开发一个以 Firebase 作为后端的 Android 应用。 到目前为止,它运行得非常顺利,我很喜欢它,但现在我遇到了一个主要障碍。 该应用必须搜索某个位置周围的优惠,然后相应地填充 ListView(或 RecyclerView)。 我已经将 Geofire 包含在我的 Firebase 结构中,有一个主 deals 节点和一个具有相同键的 geofire 节点,并且 Geoquery 可以正常返回它们。

我的问题是,我从 Firebase 示例中获取的 FirebaseListAdapter 没有单个项目添加方法,这正是我所需要的,因为 Geoquery 将仅返回一个键到时候。 经过长时间的搜索,我一直无法找到处理相同问题的代码示例,因此我想询问一些关于如何实现此问题的建议,以及实现此问题的最有效方法。

谢谢

附注:我的 firebase 结构:

{
  "deals" : {
    "-JikH6yjJ9TblE8_4fX4" : {
      "category" : "Food",
      "description" : "example description",
      "location" : "George St, Brisbane",
      "title" : "some title",
    }
  },
  "geofire" : {
    "-JikH6yjJ9TblE8_4fX4" : {
      ".priority" : "r7hgf2d639",
      "g" : "r7hgf2d639",
      "l" : [ -27.46268003, 153.03172851 ]
    }
  }
}

最佳答案

FirebaseListAdapter 仅适用于您想要将 Firebase 位置中的所有 子级添加到列表中的简单情况。它旨在作为一个简单的辅助类。对于像这样的更复杂的示例,您将需要编写自己的 ListAdapter

收到 GeoQuery 的按键输入事件后,您可以为 deals 节点中的实际值添加值监听器。然后,您可以使用这些值事件来填充和更新 ListView 。

确保在按键退出事件或处置 ListView 时删除值监听器。

关于android - Geoquery 填充 ListView/RecyclerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28800273/

相关文章:

Android 在运行时更改小部件颜色更新

android - setVisibility GONE 在 Listview Android 中不起作用

delphi - 编号 ListView

Android ListView 未正确映射

android - Firebase In App Messaging PERMISSION_DENIED

android - 重新安装系统后,Gradle项目同步失败

android - 当我在 android 日历 ListView 中单击重置按钮时如何清除选定的日期范围

安卓 : Remove titlebar/go fullscreen while in EDITING MODE in Android Studio

firebase - 无法在 Isolate 中执行 Firebase 查询

java - Firebase:检查是否有任何元素具有特定的属性值