图像切换器工作不正常
我有一个Android应用程序应该显示广告,这些广告从服务器拉,然后他们被保存在手机上,我做了一个方法,应该显示广告,但不幸的是,它不工作预计很长一段时间显示第一个图像,然后将它遍历他们太快我不知道为什么
这里是我的方法图像切换器工作不正常
private void startShowAds(final ArrayList<Ad> adArrayList) {
Handler handler = new Handler();
for (int i = 0; i < adArrayList.size(); i++) {
Ad ad = adArrayList.get(i);
Runnable runnable = new Runnable() {
public void run() {
imageView.setBackgroundDrawable(getBitMap(ad.getFileUri()));
handler.postDelayed(this, ad.getDuration());
}
};
handler.postDelayed(runnable, ad.getDuration());
}
startShowAds(dbHelper.getAllAdRecords(longitude, latitude));
}
任何帮助将不胜感激
试试这个:
private void startShowAds(final ArrayList<Ad> adArrayList) {
Handler handler = new Handler();
long offset = 0;
for (int i = 0; i < adArrayList.size(); i++) {
Ad ad = adArrayList.get(i);
Runnable runnable = new Runnable() {
public void run() {
imageView.setBackgroundDrawable(getBitMap(ad.getFileUri()));;
}
};
handler.postDelayed(runnable, offset);
offset += ad.getDuration();
}
}
听起来真棒它工作完美,我现在有一个littel问题我怎么能重复多次这个方法 –
for循环外你可以添加其他runnable调用'startShowAds(adArrayList)'并启动它推迟 –
所以可以这样做? 'new Runnable(){public void run(){startShowAds(arrayList)}}'? –
在for循环中,您应该修复延迟的偏移量。可运行内部的'i'的含义是什么? –
已编辑对不起,我错了 –