У меня настроено RecyclerView.Adapter
.В это onBindViewHolder()
я загружаю изображение через URL используя Picasso
.
Вот PhotoRecyclerAdapter
:
public class PhotoRecyclerAdapter extends RecyclerView.Adapter<PhotoRecyclerAdapter.ViewHolder> {
private List<Photo> photos;
private Context mContext;
public PhotoRecyclerAdapter() {
photos = new ArrayList<>();
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_photo, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
Photo photo = photos.get(position);
holder.imageBy.setText(photo.getUser().getFirstName());
Picasso.get().load(photo.getUrls().getSmall()).into(holder.imageView);
}
public void setPhotos(List<Photo> photos) {
this.photos = photos;
notifyDataSetChanged();
}
@Override
public int getItemCount() {
return photos.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
public final ImageView imageView;
public final TextView imageBy;
public ViewHolder(View view) {
super(view);
imageView = (ImageView) view.findViewById(R.id.imageView);
imageBy = (TextView) view.findViewById(R.id.imageBy);
mContext = view.getContext();
}
}
}
Вот item-photo.xml
:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/item_photo"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/imageBy"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginTop="12dp"
android:layout_marginStart="12dp"
android:text="TextView" />
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:adjustViewBounds="true"
tools:srcCompat="@tools:sample/backgrounds/scenic" />
</RelativeLayout>
Здесь изображение устанавливается в ImageView
, но ничего не отображается в TextView
, но когда я закомментирую Picasso.get().load(photo.getUrls().getSmall()).into(holder.imageView);
, отображается текст.
Что здесь не так?