毕加索无法在回收站视图上的 CircleImageView 上设置图像
Picasso failed to setImage on CircleImageView on a recyclerview
我试图将数据从 firebase 加载到我的回收站视图中。我首先检索的有两个值是 Name,第二个是 ImageUrl。当我 运行 我的应用程序名称中的值显示在 recyclerview 上,但图像仍然是空白的。毕加索无法将图像加载到 CircleImageView 中。
下面是我的ViewHolderclass
public static class CategoryViewHolder extends RecyclerView.ViewHolder {
View mView;
CircleImageView categoryImageView;
TextView categoryName;
public CategoryViewHolder(View itemView) {
super(itemView);
mView = itemView;
}
public void setDisplayName(String name){
categoryName = (TextView) mView.findViewById(R.id.Category_name);
categoryName.setText(name);
}
public void setUserImage(String thumb_image, Context ctx){
categoryImageView = (CircleImageView)
mView.findViewById(R.id.Category_pic);
Picasso.with(ctx).load(thumb_image).placeholder(R.drawable.
default_avatar)
.into( categoryImageView);
// Picasso.with(ctx) .load(thumb_image) .into(categoryImageView);
}
}
这是我的模型class
public class CategoryItems {
private String Name;
private String ImageUrl;
public CategoryItems(String title, String imageURL) {
this.Name = title;
this.ImageUrl = imageURL;
}
publ ic CategoryItems(){
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getImageUrl() {
return ImageUrl;
}
public void setImageUrl(String imageUrl) {
ImageUrl = imageUrl;
}
}
这是我的 FirebaseREcyclerViewAdapter
public void onStart() {
super.onStart();
startListening();
}
public void startListening(){
Query query = FirebaseDatabase.getInstance()
.getReference()
.child("Catlist")
.limitToLast(500);
FirebaseRecyclerOptions<CategoryItems> options =
new FirebaseRecyclerOptions.Builder<CategoryItems>()
.setQuery(query, CategoryItems.class)
.build();
FirebaseRecyclerAdapter adapter = new
FirebaseRecyclerAdapter<CategoryItems, CategoryViewHolder>(options) {
@Override
public CategoryViewHolder onCreateViewHolder(ViewGroup parent, int
viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.category_items, parent, false);
return new CategoryViewHolder(view);
}
@Override
protected void onBindViewHolder(final CategoryViewHolder holder, int
position, final CategoryItems model) {
holder.setDisplayName(model.getName());
holder.setUserImage(model.getImageUrl(), getContext());
// holder.setUserStatus(model.getStatus());
Log.d(model.getImageUrl().toString(), "onBindViewHolder: ");
}
};
mUsersList.setAdapter(adapter);
adapter.startListening();
}
我的回收商只显示名称,我尝试记录图像urls 并显示 url 正常
尝试在 Picasso 中启用日志记录以查看错误和警告,在您的情况下它肯定会显示一些您可以解决的错误。
Picasso
.with(context)
.setLoggingEnabled(true)
....
有关详细信息,请查看此 link
我试图将数据从 firebase 加载到我的回收站视图中。我首先检索的有两个值是 Name,第二个是 ImageUrl。当我 运行 我的应用程序名称中的值显示在 recyclerview 上,但图像仍然是空白的。毕加索无法将图像加载到 CircleImageView 中。
下面是我的ViewHolderclass
public static class CategoryViewHolder extends RecyclerView.ViewHolder {
View mView;
CircleImageView categoryImageView;
TextView categoryName;
public CategoryViewHolder(View itemView) {
super(itemView);
mView = itemView;
}
public void setDisplayName(String name){
categoryName = (TextView) mView.findViewById(R.id.Category_name);
categoryName.setText(name);
}
public void setUserImage(String thumb_image, Context ctx){
categoryImageView = (CircleImageView)
mView.findViewById(R.id.Category_pic);
Picasso.with(ctx).load(thumb_image).placeholder(R.drawable.
default_avatar)
.into( categoryImageView);
// Picasso.with(ctx) .load(thumb_image) .into(categoryImageView);
}
}
这是我的模型class
public class CategoryItems {
private String Name;
private String ImageUrl;
public CategoryItems(String title, String imageURL) {
this.Name = title;
this.ImageUrl = imageURL;
}
publ ic CategoryItems(){
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getImageUrl() {
return ImageUrl;
}
public void setImageUrl(String imageUrl) {
ImageUrl = imageUrl;
}
}
这是我的 FirebaseREcyclerViewAdapter
public void onStart() {
super.onStart();
startListening();
}
public void startListening(){
Query query = FirebaseDatabase.getInstance()
.getReference()
.child("Catlist")
.limitToLast(500);
FirebaseRecyclerOptions<CategoryItems> options =
new FirebaseRecyclerOptions.Builder<CategoryItems>()
.setQuery(query, CategoryItems.class)
.build();
FirebaseRecyclerAdapter adapter = new
FirebaseRecyclerAdapter<CategoryItems, CategoryViewHolder>(options) {
@Override
public CategoryViewHolder onCreateViewHolder(ViewGroup parent, int
viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.category_items, parent, false);
return new CategoryViewHolder(view);
}
@Override
protected void onBindViewHolder(final CategoryViewHolder holder, int
position, final CategoryItems model) {
holder.setDisplayName(model.getName());
holder.setUserImage(model.getImageUrl(), getContext());
// holder.setUserStatus(model.getStatus());
Log.d(model.getImageUrl().toString(), "onBindViewHolder: ");
}
};
mUsersList.setAdapter(adapter);
adapter.startListening();
}
我的回收商只显示名称,我尝试记录图像urls 并显示 url 正常
尝试在 Picasso 中启用日志记录以查看错误和警告,在您的情况下它肯定会显示一些您可以解决的错误。
Picasso
.with(context)
.setLoggingEnabled(true)
....
有关详细信息,请查看此 link