【问题标题】:Android how to make images load from HTTP every few secondsAndroid如何让图像每隔几秒从HTTP加载
【发布时间】:2019-08-14 02:59:13
【问题描述】:

我的图片是从 HttpURLConnection 加载的。

我有 3 张图片,想在一个 ImageView 中每 2 秒更改一次。

例如,image1 -> image2 -> image3 -> image1 -> image2 ...

目前,我的代码如下:

Picasso.with(this).load(BASE_URL + "admin/"+image1).fit().centerInside().into(ivImage);


Picasso.with(this).load(BASE_URL + "admin/"+image2).fit().centerInside().into(ivImage);


Picasso.with(this).load(BASE_URL + "admin/"+image3).fit().centerInside().into(ivImage);

【问题讨论】:

  • handle.postDelayed() 可能会帮助你.. 但要小心内存泄漏
  • @ADM 遵循解决方案后,我的应用程序崩溃了。我把 Picasso.with(this).load(BASE_URL + "admin/"+image1).fit().centerInside().into(ivImage);在 run() 方法中。

标签: android image imageview httpurlconnection picasso


【解决方案1】:

使用以下方法...

private void repeatTask(int counter) {
        switch (counter) {
            case 0:
                Picasso.with(this).load(BASE_URL + "admin/"+image1).fit().centerInside().into(ivImage);
                break;
            case 1:
                Picasso.with(this).load(BASE_URL + "admin/"+image2).fit().centerInside().into(ivImage);
                break;
            case 2:
                Picasso.with(this).load(BASE_URL + "admin/"+image3).fit().centerInside().into(ivImage);
                break;
            default:
                //not possible
                break;
        }
        final int newCounter = counter + 1;
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                repeatTask(newCounter == 3 ? 0 : newCounter);
            }
        }, 2000);
    }

这将继续每 2 秒更改一次您的图像。在你的 onCreate() 方法中像这样调用这个方法来启动任务...

    repeatTask(0);

【讨论】:

  • 非常感谢!我是 Android 开发新手,非常感谢您的帮助 :)
  • 很高兴知道它对某人有所帮助,请不要忘记投票,以便其他开发人员可以轻松找到答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-24
  • 1970-01-01
  • 1970-01-01
  • 2011-08-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多