android-毕加索在新的活动中再次加载图像,导致应用中的共享转换动画不正确
作者:互联网
我有一个活动1,其中有一个回收站视图,其中包含约50张图像的列表,每张图像的大小约为20-40 kb,这是使用毕加索库获取的.
现在,当用户单击图像时,我已经在图像上实现了android共享过渡.
问题在于,当用户单击已经在活动A中加载的图像时,该图像再次在活动B中加载,由于该共享共享仅发生在活动B的占位符图像上.
而第二次单击同一图像时一切正常.
我不明白为什么会这样.由于Picasso使用缓存,因此图像应该随时可用,尤其是在屏幕上时.
我在活动A和活动B中使用的毕加索零件如下:
活动A的回收者视图适配器:
@Override
public void onBindViewHolder(final FeedsRecyclerAdapter.ViewHolder holder, final int position) {
holder.publisher_name.setText(feedsList.get(position).getPublisher_display_name());
holder.feed_time_span.setText(feedsList.get(position).getFeedtime());
Picasso.with(context)
.load(feedsList.get(position).getPublisher__pic()).tag("publisher_pic")
.into(holder.publisher_pic);
holder.feed_title.setText(Html.fromHtml(feedsList.get(position).getFeed_title()));
holder.feed_description.setText(Html.fromHtml(feedsList.get(position).getFeed_description()));
Picasso.with(context.getApplicationContext())
.load(feedsList.get(position).getFeed_image_url()).fit()
.placeholder(R.drawable.loader2).tag("feed_pic")
.into(holder.feed_pic);
Picasso.with(context).setIndicatorsEnabled(true);
}
活动B的onCreate:
private void showData() {
SourceSemiBoldTextView title = (SourceSemiBoldTextView) findViewById(R.id.blog_title);
ImageView image = (ImageView) findViewById(R.id.blog_pic);
title.setText(articledata.get("articletitle"));
Picasso.with(getApplicationContext()).load(articledata.get("articleimageurl")).fetch();
Picasso.with(getApplicationContext()).load(articledata.get("articleimageurl"))
.error(R.drawable.loader2)
.placeholder(R.drawable.loader2).fit().noFade()
.into(image);
Picasso.with(this).setIndicatorsEnabled(true);
}
任何帮助将不胜感激.请让我知道是否需要添加其他内容以更清楚地理解
解决方法:
我只是发现自己在做什么错.我只是从活动中删除了.fit(),现在一切似乎都可以正常工作了.
标签:caching,animation,image,picasso,android 来源: https://codeday.me/bug/20191118/2029777.html