Picasso - 将图像保存到磁盘

时间:2016-11-07 13:52:42

标签: android picasso toast imagedownload

我正在使用毕加索通过用户点击按钮将图像保存到磁盘,我想以Toast的形式向用户生成已下载图像的反馈。

为此,我尝试使用以下代码::

在UI线程上运行吐司
((AppCompatActivity)context).runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
                }
});

哪个没有运行。图像已下载,并且在我的应用程序库中也可见,但Toast不会显示。有人可以告诉我,我是否真的这样做,还是应该以其他方式完成?

FYI:此代码正在Target对象的onBitmapLoaded()方法中运行,我将传递给Picasso以将Image下载到; '背景'这里的对象是指当前活动的上下文。

任何帮助将不胜感激:)

2 个答案:

答案 0 :(得分:1)

在网上进行了大量搜索后,我得到了答案。您需要在主线程而非后台线程上显示吐司。以下代码将完成工作

Handler handler = new Handler(Looper.getMainLooper());

                    handler.post(new Runnable() {

                        @Override
                        public void run() {
                            //Display toast here


                        }
                    });

答案 1 :(得分:0)

使用具有回调的方法,您可以在其中定义成功和错误的消息。

final ImageView view = new ImageView(this);
Picasso.with(this).load("http://i.imgur.com/DvpvklR.png").into(view, new Callback() {
        @Override
        public void onSuccess() {
            Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onError() {

        }
    });

编辑:添加占位符行