我正在创建在主视图上显示帖子的应用程序.添加新帖子后,我们只会看到没有图像的文字.
我尝试使用毕加索和滑翔.但是没有结果.
@H_502_8@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);
ImageView postImage = mView.findViewById(R.id.postImg);
您没有使用RecyclerView.ViewHolder图像,而只是使用了一些与当前reyclerVie行无关的图像,因此滑行实际上是有效的,但您没有使用正确的图像.
您需要执行以下操作:
@H_502_8@ holder.setImage(getApplicationContext(),yourHolder);
并从方法访问您的holder.imageView:
@H_502_8@void setImage(Context ctx,String image,ViewHolder holder) { Glide.with(ctx).load(image).dontAnimate().fitCenter().into(holder.postImage); }