我有一个活动1,其中有一个回收站视图,其中包含约50张图像的列表,每张图像的大小约为20-40 kb,这是使用毕加索库获取的.
现在,当用户单击图像时,我已经在图像上实现了android共享过渡.
问题在于,当用户单击已经在活动A中加载的图像时,该图像再次在活动B中加载,由于该共享共享仅发生在活动B的占位符图像上.
而第二次单击同一图像时一切正常.
我不明白为什么会这样.由于Picasso使用缓存,因此图像应该随时可用,尤其是在屏幕上时.
我在活动A和活动B中使用的毕加索零件如下:
活动A的回收者视图适配器:
@OverrIDepublic 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(),现在一切似乎都可以正常工作了.
总结以上是内存溢出为你收集整理的android-毕加索在新的活动中再次加载图像,导致应用中的共享转换动画不正确全部内容,希望文章能够帮你解决android-毕加索在新的活动中再次加载图像,导致应用中的共享转换动画不正确所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)