gpt4 book ai didi

java - 当使用 Picasso 显示占位符时,如何重新显示进度条?

转载 作者:太空宇宙 更新时间:2023-11-04 14:38:44 25 4
gpt4 key购买 nike

我有一个 listView,每个项目中都有一个图像。

每当图像尚未加载到每个项目中时,我希望有一个进度条。

包括当列表被回收并且占位符再次显示时。

此外,我以前在没有 picasso 的情况下自己下载图像

我曾经将imageUrl设置为每个项目的标签,并在加载图像之前检查url是否仍然存在(或者由于回收而被替换,然后不需要加载回调的图像)。

picasso 如何处理这种回收?

如何配置 Picasso 图像缓存?

最佳答案

您必须添加

progressBar.setVisibility(View.VISIBLE);

在你的 getView() 中像这样:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.list_row, null);

ImageView imageView = (ImageView) vi.findViewById(R.id.imageView);
final ProgressBar progressBar = (ProgressBar) vi.findViewById(R.id.progressBar);
TextView textView = (TextView) vi.findViewById(R.id.textView);

textView.setText("" + position);

progressBar.setVisibility(View.VISIBLE);

Picasso.with(activity.getApplicationContext()).load(imagePath).resize(100, 100).centerCrop()
.into(imageView, new Callback() {
@Override
public void onSuccess() {
progressBar.setVisibility(View.GONE);
}

@Override
public void onError() {
//error
}
});

return vi;
}

要了解有关 View 回收的更多详细信息,请关注this链接。

关于java - 当使用 Picasso 显示占位符时,如何重新显示进度条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25227125/

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