【发布时间】:2011-12-01 02:05:42
【问题描述】:
我的代码主要是解码一系列位图对象,稍后显示在一个 ImageView 中。为了更好地控制显示每个图像的持续时间。所以我在 Runnable 中实现了代码。这是该可运行文件的 sn-p。
final File file[]=dir.listFiles();
iv.postDelayed(
new Runnable() {
@Override
public void run() {
i++;
Bitmap bitmap = decodeFile(file[i]);
iv.setImageBitmap(bitmap);
iv.postDelayed(this, 5000);
}
}, 5000);
但是,我似乎无法很好地控制这里的循环。我无法使用 for 循环,因为在这种情况下不能将“i”分配为零。只要“file[i]”有文件引用,此代码就可以工作。一旦显示所有图像一次,应用程序就会强制关闭对 arrayindexoutofbounds 异常的处理。我只想无限地继续循环。有什么指点吗?
这里 decodeFile() 调用另一个函数来重新缩放位图的大小。
【问题讨论】: