2016-08-29 5 views
1

Я хочу отображать изображения из URL с регулярным интервалом, используя Picasso. Он отображает одно изображение очень хорошо, но когда я его зацикливаю, он создает ошибку или не показывает. Я вставив свой код здесь не отображает любое изображение, чтобы посмотреть картинкуLooping Picasso загрузить url image

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

Вы не должны называть Picasso загрузкой из фоновой нити. Вам не нужно заботиться о резьбе, Пикассо делает это за вас. – lionscribe

ответ

2

Ваше решение не прямо вперед, - я думаю, что лучше сделать этот материал с помощью Handler. И дело в том, что вы загружаете Picasso из фонового потока. Picasso обрабатывает это для вас, просто планируйте свой интервал с Handler.postDelayed() - это должно решить вашу проблему.

+0

Спасибо Это сработало –

Смежные вопросы