android-滑行-从Firebase不显示图像

我正在创建在主视图上显示帖子的应用程序.添加新帖子后,我们只会看到没有图像的文字.

我尝试使用毕加索和滑翔.但是没有结果.

protected void onStart() {
    super.onStart();

    Query query = FirebaseDatabase.getInstance().getReference().child("Post");

    FirebaseRecyclerOptions<PostList> options = new FirebaseRecyclerOptions.Builder<PostList>().setQuery(query,PostList.class).build();

    FirebaseRecyclerAdapter<PostList,PostListHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<PostList,PostListHolder>(options) {

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

        @Override
        protected void onBindViewHolder(@NonNull PostListHolder holder,int position,@NonNull PostList model) {
            holder.setImage(getApplicationContext(),model.getImage(),holder);
            holder.setTitle(model.getTitle());
            holder.setDescription(model.getDescription());

        }
    };

        void setImage(Context ctx,String image) {

            ImageView postImage = mView.findViewById(R.id.postImg);
            Glide.with(ctx).load(image).dontAnimate().fitCenter().into(postImage);
        }

    }
最佳答案
看起来问题出在这一行:
ImageView postImage = mView.findViewById(R.id.postImg);

您没有使用RecyclerView.ViewHolder图像,而只是使用了一些与当前reyclerVie行无关的图像,因此滑行实际上是有效的,但您没有使用正确的图像.

您需要执行以下操作:

  holder.setImage(getApplicationContext(),yourHolder);

并从方法访问您的holder.imageView:

void setImage(Context ctx,String image,ViewHolder holder) {  
  Glide.with(ctx).load(image).dontAnimate().fitCenter().into(holder.postImage);
}

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...