当前位置: 首页 > 知识库问答 >
问题:

如何使用progressbar加载Picasso中的图像?

司寇羽
2023-03-14

我希望onstart()方法使用picasso从服务器加载图像,并且我希望显示一个进度条,直到照片完全下载完毕。下面是我的代码:

@Override
    protected void onStart() {
        // TODO Auto-generated method stub
        super.onStart();

        Picasso.with(context).load(imageLoad)
                .placeholder(R.id.progressBarDetails)
                .error(R.drawable.friend_request).noFade().resize(200, 200)
                .into(avatarImage, new Callback() {
                    @Override
                    public void onError() {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public void onSuccess() {
                        // TODO Auto-generated method stub
                        progressbar.setVisibility(View.GONE);
                    }

                });

        Picasso.with(this).load(imageLoad).into(target);

    }

    OnFinished a = new OnFinished() {

        @Override
        public void onSendFinished(IntentSender IntentSender, Intent intent,
                int resultCode, String resultData, Bundle resultExtras) {
            // TODO Auto-generated method stub
            intent = new Intent(getApplicationContext(), Map.class);
        }
    };

    private Target target = new Target() {
        @Override
        public void onBitmapLoaded(final Bitmap bitmap, Picasso.LoadedFrom from) {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    File file = new File(Environment
                            .getExternalStorageDirectory().getPath()
                            + "/actress_wallpaper.jpg");
                    try {
                        file.createNewFile();
                        FileOutputStream ostream = new FileOutputStream(file);
                        bitmap.compress(CompressFormat.JPEG, 75, ostream);
                        ostream.close();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }

                }
            }).start();
        }

共有1个答案

谯志诚
2023-03-14

我还没有测试过您的代码,但是即使这样,文件actress_wallpaper.jpg也不会加载到ImageView中。在文件里,上面写着

实现此类的对象必须具有Object.equals(Object)Object.hashcode()的工作实现,以便在内部进行适当的存储。

试试这个:

File file = new File(pathToFile);

Picasso.with(context)
       .load(file)
       .into(imageView, new Callback() {
           @Override
           public void onSuccess() {
               progressbar.setVisibility(View.GONE);
           }
       });

我试过2.3.2和2.3.3版本,似乎有一个问题https://github.com/square/picasso/issues/539

 类似资料:
  • 问题内容: 我无法使用Android 9.0 Pie中的Picasso库加载图像。实际上,它适用于以下版本。它没有显示任何错误消息。有人使用共享了他在Github上的日志 他有消息日志: 问题答案: 尝试在清单文件的应用程序标记中使用!由于我在使用Android Volley时遇到同样的问题! 根据Android文档 指示应用程序是否打算使用明文网络流量,例如明文HTTP。适用于应用的默认值,该值

  • 我试图插入一个通用加载圈作为占位符,而图像正在加载图像加载器库,如Glide或Picasso。 我无法找到你应该如何从xml创建一个旋转绘图。 我尝试通过创建动画列表来使用XML中的AnimationDrawable,但它甚至没有显示(甚至没有静态显示)。 我只想有一个简单的圆圈,它可以在一个可绘制的xml中自动旋转,这样我就可以将id作为占位符传递给我的图像加载器。如果这不可能,请现在告诉我,这

  • 我有一个HTTP post请求,它以一个JSON作为请求体,其中包含以下内容: 向服务器请求后,我只得到一个图像作为响应(而不是任何东西(如JSON))。适当的图像是根据请求创建的,没有网址。我的服务地址是: 我的回复标题是: 我不知道是用改造还是毕加索来得到这张照片, 在Picasso中:我无法发送请求正文中的JSON数量。 在改造:我不能没有url的照片(地址指向照片像www.site.com

  • 我是flutter的新手,上周才开始。我正在从在线课程中学习,然后我想在我的flutter应用程序中加载一个图像。但有一个错误是:

  • 问题内容: 我使用图片插件( image:^ 2.0.4 ),以便可以在图片上写一些内容,然后将其保存为新图片到设备或通过邮件发送。我尝试使用“ new File ” 加载图像,但Flutter出现错误。我询问并搜索,并得到一个提示,我可以使用rootBundle在Flutter中加载图像。我做到了,我得到以下错误。 [错误:topaz / lib / tonic / logging / dart

  • Picasso只在我的RecolyerView中的最后一个项目上加载缩略图。我使用了firebase RecolyerAdapter;这就是它看起来的样子 如我的代码所示,我将用户名文本设置为图像url以检查真正发生了什么,令我惊讶的是,图像url被正确地检索到了每个ItemView。 这是日志 @覆盖公共视图onCreateView(LayoutInflater inflater,ViewGro