如何通过从firebase过滤数据来仅显示具有特定值的子项?

时间:2017-12-11 17:38:38

标签: android firebase firebase-realtime-database android-recyclerview

我是Android开发领域的新手。我现在正在与Firebase合作。

我有一个Recyclerview,显示每个提供的数据。现在我想要另一个仅显示用户创建的商品的Recyclerview。我已经在商品中添加了userID。但我无法弄清楚,如何只显示当前登录用户的userId订单。

我找不到合适的Firebase指南。

Example of my Database

2 个答案:

答案 0 :(得分:1)

像这样简单查询您的数据。

DatabaseReference mFirebaseDatabaseReference = FirebaseDatabase.getInstance().getReference();
        Query query = mFirebaseDatabaseReference.child("Offer").orderByChild("userID").equalTo("user id you want to fetch");
        query.addValueEventListener(valueEventListener);

    ValueEventListener valueEventListener = new ValueEventListener()
    {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot)
        {
            for (DataSnapshot postSnapshot : dataSnapshot.getChildren())
            {
                //TODO get the data here

            }

        }

        @Override
        public void onCancelled(DatabaseError databaseError)
        {

        }
    };

答案 1 :(得分:0)

您始终可以自定义recyclerview适配器。或者有2个不同的适配器,每个适用于一般商品和用户创建的适配器。在加载时,您可以创建两个列表并使用适当的适配器来呈现商品。