我在其中创建了一个简单的TaskGroup.OwnerId
和一个TaskOwner.GroupId
。在RecyclerView
中有CardView
和CardView
。因此,我获得了图像的URL并使用ImageView
进行加载。在使用TextView
之前,一切工作正常。因此,我想从图像中获取颜色并将其设置为Picasso
和Palette API
。
这是我的CardView
TextView
每次显示占位符图像。当我进行调试时,它可以工作。所以有什么问题?谢谢。
答案 0 :(得分:0)
所以问题不在Palette API
中。问题在于目标正在被垃圾回收。因此解决方案是在对象上实现目标或将其存储在字段中并将其设置为ImageView
的标记。
这里。现在正在工作。
@Override
public void onBindViewHolder(@NonNull final MyViewHolder myViewHolder, int position) {
myViewHolder.textView.setText(imageDescription.get(position));
Target target = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
myViewHolder.imageView.setImageBitmap(bitmap);
myViewHolder.getPalette();
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
myViewHolder.imageView.setImageResource(R.drawable.error);
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
myViewHolder.imageView.setImageResource(R.drawable.placeholder);
}
};
Picasso.with(context)
.load(imagesUrl.get(position))
.into(target);
myViewHolder.imageView.setTag(target);
}
我认为这有一天会帮助任何人)))谢谢