Как создать Cardview с параметром firebase getKey - PullRequest
0 голосов
/ 24 февраля 2019

Я пытаюсь создать представление карты из данных Firebase, используя listAdapter.Это работа с 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 в этом коде ....

"Список продуктов = элементы.getValue (List.class); "

Заранее спасибо

1 Ответ

0 голосов
/ 25 февраля 2019

Я не уверен, что вы хотите сделать, но чтобы получить ключ к каждому продукту, вы можете использовать метод 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);
        }

Надеюсь, это поможет вам!

...