循环毕加索加载网址图片

时间:2016-08-29 19:48:08

标签: java android imageview picasso

我希望使用Picasso定期显示来自网址的图片。它显示单个图像非常好,但当我循环它时,它创建错误或不显示。我在这里粘贴我的代码,没有显示任何图像到图像视图

public class Main extends AppCompatActivity {

    Integer i=1;
    String adurl = "http://mywebsite.com/img";
    String nADURL;
    private Context mContext;
    private int index = 0;
    private final int interval = 3000;
    private final int DURATION = 1500;
    ImageView iv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); 

        //Initializing the ImageView
       iv = (ImageView) findViewById(R.id.ivAdd);

        showAd9 sh = new showAd9();    
        sh.execute("3000");
    }

  public  class showAd9 extends AsyncTask<String, String, String> {

        @Override
        protected String doInBackground(String... params) {

                nADURL = adurl.toString() + String.valueOf(i) + ".png";
                try {
                    int time = Integer.parseInt(params[0]);
                    while(i<=4) {
                        Picasso.with(main.this).load(nADURL).skipMemoryCache().error(R.drawable.wrong).into(iv);
                        i++;
                        Thread.sleep(time);
                    }

                } catch (InterruptedException e) {
                    e.printStackTrace();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            return null;
        }

        @Override
        protected void onPostExecute(String result) {  
        }
    }

1 个答案:

答案 0 :(得分:2)

你的解决方案不是直截了当的 - 我认为在Handler的帮助下做这些事情会更好。关键是你从背景线程加载Picasso。 Picasso为您处理此问题,只需使用Handler.postDelayed()安排时间间隔 - 这可以解决您的问题。