如何使用 firebase getKey 参数创建 Cardview

How to create Cardview with firebase getKey parameter

我尝试使用 listAdapter 从 firebase 数据创建 cardview。它适用于 getValue,但不适用于 getKey。任何人都可以帮助我......

        reference = FirebaseDatabase.getInstance().getReference().child("products");
        reference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                list = new ArrayList<List>();

                Iterable<DataSnapshot> itemSnapShot = dataSnapshot.getChildren();
                for(DataSnapshot items : itemSnapShot)
                {
                    List products = items.getValue(List.class);
                    list.add(products);
                }
                adapter = new ListAdapter(Stock.this,list);
                recyclerView.setAdapter(adapter);
            }

它可以工作,但是如何在这段代码中将它与 getKey 函数一起使用....

"List products = items.getValue(List.class);"

提前致谢

我不确定你想做什么,但要获得每个产品的密钥,你可以使用 getKey() 方法来完成此任务,就像这样...

 reference = FirebaseDatabase.getInstance().getReference().child("products");
    reference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            for(DataSnapShot data : dataSnapshot.getChildren())
            {
                //This key string is key of a child in the database.
                String key = data.getKey(); 

                //Do what do you want here....
            }
        }

要显示数据库中的所有产品,请使用此代码。

reference = FirebaseDatabase.getInstance().getReference().child("products");
    reference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
           list = new ArrayList<List>();
           for(DataSnapShot data : dataSnapshot.getChildren())
            {
                List products = items.getValue(List.class);
                list.add(products);
                //Do what do you want here....
            }

           adapter = new ListAdapter(Stock.this,list);
           recyclerView.setAdapter(adapter);
        }

希望对您有所帮助!