get () в Picasso нельзя применять к (android.content.context) - PullRequest
1 голос
/ 30 мая 2019

У меня есть следующий код на Android Studio, после того, как я последовал учебное видео.Однако в обучающем видео загрузчик использовал:

implementation 'com.android.picasso:picasso:2.5.2'

, в то время как мне пришлось использовать

implementation 'com.squareup.picasso:picasso:2.71828'

Адаптер класса

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);
        }
    }

}

Как указано выше, строка Пикассо дает мне ошибку: get () в picasso нельзя применить к (android.content.context)

Спасибо!

Ответы [ 3 ]

1 голос
/ 30 мая 2019

Picasso#get() не имеет контекста. Если вам нужно использовать другой контекст, вы можете использовать new Picasso.Builder(mContext).build();

Или Picasso.get() будет достаточно.

1 голос
/ 30 мая 2019

Пикассо with(Context) переименован в get()

Проверить этот коммит

1 голос
/ 30 мая 2019

Поскольку Пикассо 2.71828 вам не нужно указывать Context в Picasso.get()

Для получения дополнительной информации см. ChangeLog

...