首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Glide不加载图像

Glide不加载图像
EN

Stack Overflow用户
提问于 2020-09-14 22:53:10
回答 1查看 114关注 0票数 0

我已经问过这个问题了,但我还没有得到真正的答案,但我想我没有提供足够的细节或代码,所以我决定删除这个问题。因此,我将图像保存在数据库(Firebase)中,并尝试在Recyclerview中显示它们,但我注意到Glide没有加载图像。我看到cardView显示为黑屏,但没有图像。我看到我收到了关于glide加载失败等的警告消息。我不知道问题出在哪里,因为Glide在我的另一个项目上工作得很好。我将提供我的完整代码,以及我收到的警告信息。希望有人能帮我解决他的问题。提前感谢

警告消息:

代码语言:javascript
复制
    > W/Glide: Load failed for null with size [0x0]
        class com.bumptech.glide.load.engine.GlideException: Received null model
    W/Glide: Load failed for null with size [0x0]
        class com.bumptech.glide.load.engine.GlideException: Received null model
    V/FA: Inactivity, disconnecting from the service
    W/ConnectionTracker: Exception thrown while unbinding
        java.lang.IllegalArgumentException: Service not registered: com.google.android.gms.measurement.internal.zzjp@68d387d
            at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1494)

模型类:

代码语言:javascript
复制
    public class Model_Information {
    
        public String mImageUrl;
    
        public Model_Information(S String  mImageUrl) {
    
            this.mImageUrl =  mImageUrl;
         
        }
    
        public Model_Information() {
    
        }
    
        public String getmImageUrl() {
            return mImageUrl;
        }
    
        public void setmImageUrl(String mImageUrl) {
            this.mImageUrl = mImageUrl;
        }
    }

适配器类:

代码语言:javascript
复制
    public class Adapter extends  RecyclerView.Adapter<Adapter.ImageViewHolder>{
    
        private Context mContext;
        private ArrayList<Model_Information> users;
    
        public Adapter(Context context, ArrayList<Model_Information> uploads){
            mContext = context;
            users = uploads;
    
        }
    
        @NonNull
        @Override
        public ImageViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
            View V = LayoutInflater.from(mContext).inflate(R.layout.cardview1, parent, false);
            return new ImageViewHolder(V);
        }
    
        @Override
        public void onBindViewHolder(@NonNull final ImageViewHolder holder, final int position) {
            Glide.with(mContext).load(users.get(position).getmImageUrl()).thumbnail(0.05f).transition(DrawableTransitionOptions.withCrossFade()).fitCenter().centerInside().into(holder.imageView);
            holder.imageView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    Intent intent=new Intent(mContext,ViewActivity.class);
                    intent.putExtra("image",users.get(position).getmImageUrl());
               
                    mContext.startActivity(intent);
                }
            });
        }
    
        @Override
        public int getItemCount() {
            return users.size();
    
        }
    
        public class ImageViewHolder extends RecyclerView.ViewHolder{
            public ImageView imageView;
    
            public ImageViewHolder(@NonNull View itemView) {
                super(itemView);
    
                imageView=itemView.findViewById(R.id.imageview);
            }
        }

主类:

代码语言:javascript
复制
     databaseReference = FirebaseDatabase.getInstance("https://poot0-44881.firebaseio.com").getReference("Images");
    
            firebaseStorage = FirebaseStorage.getInstance();
            storageReference = firebaseStorage.getReference();
    
            firebaseUser = firebaseAuth.getInstance().getCurrentUser();    
            
            databaseReference.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
    
                    progressBar.setVisibility(View.GONE);
    
                    if(dataSnapshot.exists()){
    
                        for (DataSnapshot postsnapshot : dataSnapshot.getChildren()) {
    
                            Model_Information upload=postsnapshot.getValue(Model_Information.class);
    
                            myUploads.add(upload);
                            aAdapter = new Adapter(MainActivity2.this, myUploads);
                            recyclerView.setAdapter(aAdapter);
                            aAdapter.notifyDataSetChanged();
                            recyclerView.invalidate();
    
    
                        }
                        aAdapter.notifyDataSetChanged();
    
                    }else{
    
                    }
EN

回答 1

Stack Overflow用户

发布于 2020-09-15 09:12:45

所以我找到了我的问题。我必须使用addChildEventListener,而不是使用addValueEventListener,因为我正在尝试从另一个firebase项目或数据库获取数据。希望有人能找到有用的答案

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63886769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档