gpt4 book ai didi

android - 第一次使用 Picasso 加载图片时出错

转载 作者:行者123 更新时间:2023-11-29 01:45:13 25 4
gpt4 key购买 nike

我有一个 Activity 和一个 ImagePagerAdapter(FragmentStatePagerAdapter 的扩展),它有这个 getItem 方法:

@Override
public Fragment getItem(int position) {
Log.d(LOGTAG, "------------>mUserPicturesList.get("+position+").getFilename(): " + mUserPicturesList.get(position).getFilename());
return UserDetailFragment.newInstance(mUserPicturesList.get(position).getFilename());
}

被实例化的 fragment 有这个onCreateView:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate and locate the main ImageView
final View v = inflater.inflate(R.layout.image_detail_fragment, container, false);
mImageView = (ImageView) v.findViewById(R.id.imageView);
mProgressPicturePager = (ProgressBar) v.findViewById(R.id.progress_picture_pager);

String imageUrl = WApp.PHOTO_URL + mImageUrl + "?type=user_gallery_big_img";

Picasso picasso = Picasso.with(getActivity());
picasso.setDebugging(true);
picasso.load(imageUrl)
.placeholder(R.drawable.no_picture_man_big)
.error(android.R.drawable.stat_notify_error)
.into(mImageView, new Callback() {
@Override
public void onSuccess() {
mProgressPicturePager.setVisibility(View.GONE);
}

@Override
public void onError() {
Log.d(LOGTAG, "picasso load error");
mProgressPicturePager.setVisibility(View.GONE);
}
});

return v;
}

问题:

ImagePager 第一次加载时,Picasso 有时会调用 onError,显示 .error 可绘制对象。如果我按下后退按钮并返回到具有 ImagePagerActivity,Picasso 会正确加载图片。如果 ImagePager 有两张或更多图片,并且我在图片之间滑动,有时会正确加载这些图片,而不会退出并重新进入 ImagePager

理论:

我认为这可能是缓存的问题,但经过多次搜索,我打赌问题出在 picasso 的弱引用上。请记住,问题只会在我第一次加载具有 ImagePager 的 Activity 时出现。

在另一个地方,目前 PicassolistView 中工作正常,适配器会在第一次加载图片。在 Adapter 类的 getView 方法中调用 Picasso

访问过的链接

提前致谢。

最佳答案

问题已在 Picasso 2.3.0 中解决。

修复在 Picasso changelog 中:

Requests will now be automatically replayed if they failed due to network errors.

我希望这能为您节省很多时间。

关于android - 第一次使用 Picasso 加载图片时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21890598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com