当我尝试在以下行中循环播放Android相机预览中显示的所有图形时,我收到上述错误。
for(BarcodeGraphic graphic : mGraphicOverlay.getGraphics){
//blah blah blah
}
BarcodeGraphic是一个表示预览显示上的图形的类,并且被定义为
class BarcodeGraphic extends TrackedGraphic<Barcode>{
//all the code regarding my graphic
}
和getGraphics是GraphicOverlay类中的一个函数,上面的类扩展到该函数并定义如下。
public class GraphicOverlay<T extends GraphicOverlay.Graphic> extends View{
private List<BarcodeGraphic> mGraphics = new ArrayList<>();
public List<BarcodeGraphic> getGraphics(){
synchronized (mLock){
return mGraphics;
}
}
更新但是,如果我在违规者代码正上方的调用类中创建一个List,则错误就会消失。
List<BarcodeGraphic> bgraphic = new ArrayList<>();
for (BarcodeGraphic graphic : bgraphic){
//this works fine
}
但getGraphics函数基本上返回一个像这样的List。我现在真的很困惑。
我相信我已经包含了代码的所有相关部分,但我的代码基于Google sample,以防您需要更多说明。有人能指出为什么我会收到上述错误吗?