首页 > 解决方案 > Recycler View 未显示 Firebase 中的图片和类别

问题描述

这是 CategoryHolder 的代码:

import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;    
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;    
import com.example.clothesshop.Interfaces.ItemClickListener;
import com.example.clothesshop.R;

public class CategoriesHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

   public TextView categoryName;
   public ImageView imageView;

   private ItemClickListener itemClickListener;

    public CategoriesHolder(@NonNull View itemView) {
        super(itemView);
        categoryName = (TextView) itemView.findViewById(R.id.category_name);
        imageView = (ImageView) itemView.findViewById(R.id.category_image);
        itemView.setOnClickListener(this);

    }

    public void setItemClickListener(ItemClickListener itemClickListener) {
        this.itemClickListener = itemClickListener;
    }

    @Override
    public void onClick(View v) {
        itemClickListener.onClick(v,getAdapterPosition(),false);
    }
}

And this is where i'm trying to bind data from firebase:   

        recyclerMenu = (RecyclerView) findViewById(R.id.recycler_menu);
        recyclerMenu.hasFixedSize();
        layoutManager = new LinearLayoutManager(this);
        recyclerMenu.setLayoutManager(layoutManager);

        FirebaseRecyclerOptions options = new FirebaseRecyclerOptions.Builder<Category>  ().setQuery(category, Category.class).build();

        adapter = new FirebaseRecyclerAdapter<Category, CategoriesHolder>(options) {

            @NonNull
            @Override
            public CategoriesHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                View view = LayoutInflater.from(parent.getContext())
                        .inflate(R.layout.menu_item, parent, false);
                return new CategoriesHolder(view);
            }

            @Override
            protected void onBindViewHolder(@NonNull CategoriesHolder holder, int position, @NonNull Category model) {
                holder.categoryName.setText(model.getName());


            }
        };
        recyclerMenu.setAdapter(adapter);

并且屏幕没有显示任何内容

截屏

我该如何解决这个问题?我使用了最新的 firebase-ui 和 firebase-database 包。我正在尝试解决这个问题,但它不起作用。在数据库中,类别有 2 个字段(图像,这是一个链接和类别的名称)。

标签: javaandroidfirebase

解决方案


推荐阅读