我希望使用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) {
}
}
答案 0 :(得分:2)
你的解决方案不是直截了当的 - 我认为在Handler
的帮助下做这些事情会更好。关键是你从背景线程加载Picasso。 Picasso
为您处理此问题,只需使用Handler.postDelayed()
安排时间间隔 - 这可以解决您的问题。