J'ai le code suivant sur android studio, après avoir suivi un tutoriel vidéo. Cependant, dans la vidéo du didacticiel, le téléchargeur a utilisé:
implémentation 'com.android.picasso: picasso: 2.5.2'
alors que je devais utiliser p >
public class adapter extends RecyclerView.Adapter<adapter.viewHolder> {
private Context mContext;
private ArrayList<ItemActivity> mExampleList;
public adapter(Context context, ArrayList<ItemActivity> exampleList)
{
mContext = context;
mExampleList = exampleList;
}
@NonNull
@Override
public viewHolder onCreateViewHolder(@NonNull ViewGroup parent, int
viewType) {
View v =
LayoutInflater.from(mContext).inflate(R.layout.itemlayout, parent, false);
return new viewHolder(v);
}
@Override
public void onBindViewHolder(@NonNull viewHolder holder, int position)
{
ItemActivity currentItem = mExampleList.get(position);
String imageUrl = currentItem.getImageUrl();
String creatorName = currentItem.getCreator();
int likeCount = currentItem.getLikeCount();
holder.mTextViewCreator.setText(creatorName);
holder.mTextViewLikes.setText("Likes: "+likeCount);
Picasso.get(mContext).load(imageUrl).
fit().centerInside.into(holder.mImageView);//get() in picasso
cannot be applied to
(android.content.context)
}
@Override
public int getItemCount() {
return mExampleList.size();
}
public class viewHolder extends RecyclerView.ViewHolder
{
public ImageView mImageView;
public TextView mTextViewCreator;
public TextView mTextViewLikes;
public viewHolder(@NonNull View itemView) {
super(itemView);
mTextViewCreator = itemView.findViewById(R.id.image_view);
mImageView = itemView.findViewById(R.id.text_view_creator);
mTextViewLikes = itemView.findViewById(R.id.text_view_likes);
}
}
}
Classe d'adaptateur
implementation 'com.squareup.picasso:picasso:2.71828'
Comme indiqué ci-dessus, la ligne Picasso me donne l'erreur: get () dans picasso ne peut pas être appliqué à (android.content.context)
Merci!
3 Réponses :
Depuis Picasso 2.71828 , vous n'avez pas besoin de fournir Context dans Picasso.get()
Pour plus d'informations, consultez le ChangeLog
Picasso # get () n'a pas de contexte. Si vous avez besoin d'utiliser un contexte différent, vous pouvez utiliser new Picasso.Builder (mContext) .build ();
Ou, Picasso.get () suffira.