【问题标题】:Firebase GeoFire Android populate a listViewFirebase GeoFire Android 填充 listView
【发布时间】:2018-08-06 12:25:44
【问题描述】:

所以使用 GeoFire 我能够将所有返回的键放入一个列表中。

 ArrayList<String> arrayList = new ArrayList();

    GeoQuery geoQuery = geoFire.queryAtLocation(new GeoLocation(37, -133), 1.6);
    geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {
        @Override
        public void onKeyEntered(final String key, GeoLocation location) {
            arrayList.add(key);   
        ...

我想我应该像这样添加监听器。如何让 BizName 填充 listView?很高兴我有键,但我想要与这些键关联的值。

mRootRef.child("Businesses").child(key).addListenerForSingleValueEvent(new ValueEventListener(){
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    Data data = dataSnapshot.getValue(Data.class);
                    data.getBizName();

                }

【问题讨论】:

    标签: firebase firebase-realtime-database geofire


    【解决方案1】:

    您确实需要为要显示的每个键加载附加信息。每个键(最多)需要一个addListenerForSingleValueEventaddValueListener。请注意,这并不像许多开发人员想象的那么昂贵,因为请求可以通过 Firebase 保持对服务器开放的单个连接进行管道传输。见Speed up fetching posts for my social network app by using query instead of observing a single event repeatedly

    像这样加载您自己的数据也意味着您需要在加载信息和视图之间定义自己的适配器。请记住,键可能会移入和移出查询范围,因此理想情况下您应该处理 onKeyEnteredonKeyExited

    【讨论】:

      猜你喜欢
      • 2016-12-13
      • 2020-09-03
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-28
      • 1970-01-01
      相关资源
      最近更新 更多