如何使用firebase getKey参数创建Cardview

时间:2019-02-24 19:19:29

标签: android firebase firebase-realtime-database cardview

我尝试使用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函数一起使用。...

“列出产品= items.getValue(List.class);”

预先感谢

1 个答案:

答案 0 :(得分:0)

我不确定您要做什么,但是要获得每种产品的钥匙,您可以使用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);
        }

希望它将对您有帮助!