【问题标题】:How to filter data from Firebase Database and display it into android recyclerview?如何从 Firebase 数据库中过滤数据并将其显示到 android recyclerview 中?
【发布时间】:2018-03-27 22:19:09
【问题描述】:

我有 firebase 数据库,它有不同的数据。我使用适配器类将数据发送到 Recycler 视图。一切都很好,我可以在回收站视图中显示所有内容。但是,当我使用 equalTo() 函数根据用户 ID 过滤数据时,回收站视图中没有显示任何内容。

我该如何解决这个问题?

final Query itemFilter = mDatabase.child("items").child("userId")
            .equalTo(UId);
itemFilter.addListenerForSingleValueEvent(new ValueEventListener(){

        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if (dataSnapshot.exists()){
            for(DataSnapshot singleSnapshot : dataSnapshot.getChildren()) {

                Album item = singleSnapshot.getValue(Album.class);

                albumList.add(item);

                AlbumsAdapter albumsAdapter = new AlbumsAdapter(UploadHistory.this, albumList);
                recyclerView.setAdapter(albumsAdapter);
            }

            }
            else{
                Toast.makeText(UploadHistory.this,"NO DATA FOUND",Toast.LENGTH_LONG).show();
            }
        }

        @Override
        public void onCancelled(DatabaseError error) {
            // Failed to read value
            Log.w(TAG, "Failed to read value.", error.toException());
        }
    });

【问题讨论】:

  • 显示到目前为止您已经尝试过的内容。添加您的代码。
  • 请添加您用于过滤数据的代码。
  • 添加了代码...检查更新
  • 请向我们展示您的 Firebase 架构
  • 请在mDatabase 编辑您的问题以包含 JSON 的 sn-p(作为文本,无屏幕截图)。您可以通过单击Firebase Database console 中的“导出 JSON”链接来获取此信息。

标签: android firebase firebase-realtime-database


【解决方案1】:

这是我的答案!

问题出在查询数据上,把查询改成

final Query itemFilter = mDatabase.orderByChild("userId").equalTo(UId);

然后得到了预期的结果......

【讨论】:

    猜你喜欢
    • 2020-05-09
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    • 1970-01-01
    • 2018-11-15
    • 2019-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多