Android Glide-没有来自firebase的显示图像
我正在创建在主视图上显示帖子的应用程序。添加新帖子后,我们只看到文本,没有图像 我试着用毕加索和格莱德。但是没有结果Android Glide-没有来自firebase的显示图像,android,firebase,android-glide,Android,Firebase,Android Glide,我正在创建在主视图上显示帖子的应用程序。添加新帖子后,我们只看到文本,没有图像 我试着用毕加索和格莱德。但是没有结果 protected void onStart() { super.onStart(); Query query = FirebaseDatabase.getInstance().getReference().child("Post"); FirebaseRecyclerOptions<PostList> options = new Fire
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);
}
}
受保护的void onStart(){
super.onStart();
Query Query=FirebaseDatabase.getInstance().getReference().child(“Post”);
FirebaseRecyclerOptions选项=新建FirebaseRecyclerOptions.Builder().setQuery(查询,PostList.class).build();
FirebaseRecyclerAdapter FirebaseRecyclerAdapter=新的FirebaseRecyclerAdapter(选项){
@凌驾
public PostListHolder onCreateViewHolder(视图组父级,int-viewType){
View=LayoutFlater.from(parent.getContext()).flate(R.layout.post_行,parent,false);
返回新的PostListHolder(视图);
}
@凌驾
受保护的无效onBindViewHolder(@NonNull PostListHolder,int位置,@NonNull PostList模型){
setImage(getApplicationContext(),model.getImage(),holder);
setTitle(model.getTitle());
holder.setDescription(model.getDescription());
}
};
void setImage(上下文ctx、字符串图像){
ImageView postImage=mView.findviewbyd(R.id.postImg);
使用(ctx)滑动.加载(图像).dontAnimate().fitCenter()到(后图像);
}
}
这行代码似乎有问题:
ImageView postImage=mView.findviewbyd(R.id.postImg)代码>
您没有使用RecyclerView.ViewHolder
图像,您只是使用了一些与当前重新循环服务行不关联的图像,因此glide实际上可以工作,但您没有使用正确的图像
您需要执行类似的操作:
holder.setImage(getApplicationContext(), model.getImage(),yourHolder);
并通过以下方法访问holder.imageView:
void setImage(Context ctx, String image,ViewHolder holder) {
Glide.with(ctx).load(image).dontAnimate().fitCenter().into(holder.postImage);
}
我很想帮你,但你能详细说明一下为什么这是不正确的吗?