首页 > 解决方案 > 在日志中获取firebase值但不知道如何在recylerview中添加到数组适配器中

问题描述

Firebase 数据视图图片

在此处输入图像描述

(检查上面的我的数据库图像)数组值中的疑问,以显示使用 recylerview 的子列表,我只得到一个子数据,任何建议使用数组适配器实现?

    DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
    DatabaseReference restaurantsRef =  rootRef.child("restaurants");
                                        rootRef.child("maxminutes");
                                        rootRef.child("minorder");
                                        rootRef.child("minquaninty");
                                        rootRef.child("imageUrl");
                                        rootRef.child("rating");
                                        rootRef.child("name");


    ValueEventListener valueEventListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            ArrayList<RestaurantDetails> foodItems = new ArrayList<RestaurantDetails>();
            for(DataSnapshot ds : dataSnapshot.getChildren()) {
                RestaurantDetails restaurantDetails = ds.getValue(RestaurantDetails.class);
                Log.d("TAG", restaurantDetails.getDescription());
                Log.d("TAG", restaurantDetails.getImageUrl());
                Log.d("TAG", restaurantDetails.getMaxminutes());
                Log.d("TAG", restaurantDetails.getMinorder());
                Log.d("TAG", String.valueOf(restaurantDetails.getRating()));
                Log.d("TAG", restaurantDetails.getMinquaninty());
                Log.d("TAG", restaurantDetails.getName());
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {}
    };
    restaurantsRef.addListenerForSingleValueEvent(valueEventListener);

    pd.dismiss();


    ArrayList <RestaurantDetails> ds = new ArrayList<RestaurantDetails>();
    final ShoplistItemArrayAdapter  shoplistItemArrayAdapter = new ShoplistItemArrayAdapter(shop_name_list,ds);
    final RecyclerView recyclerView = findViewById(R.id.my_recycler_view);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    recyclerView.setAdapter(shoplistItemArrayAdapter);


    for(int i=0; i<10; i++) {
        ds.add(new RestaurantDetails());
    }

标签: androidfirebasefirebase-realtime-database

解决方案


推荐阅读