我有一个由IDataViewProvider
和JSONViewProvider
实现的接口ErrorLogViewProvider
。我创建了一个List<IDataViewProvider>
,并具有JSONViewProvider
的匿名对象。
下面是代码:
area1 = new DUISectionDetails(
"Area1",
new IDataViewProvider[]{new JSONDataViewProvider()},
new DUISectionDetails[]{
new DUISectionDetails("DUI_TelemetryHeader_s",new IDataViewProvider[]{new JSONDataViewProvider()},null),
new DUISectionDetails("DUI_Section_Log_Header_s",new IDataViewProvider[]{new JSONDataViewProvider()},null),
new DUISectionDetails("DUI_Section_StaticUnitInfo_s",new IDataViewProvider[]{new JSONDataViewProvider()},null),
}
);
DUISectionDetails的结构:
public class DUISectionDetails{
public String key;
public List<IDataViewProvider> dataViewProviders;
public DUISectionDetails[] subSections;
}
我想遍历dataViewProviders的列表和每个视图的调用函数
for(IDataViewProvider view : area1.dataViewProviders)
{
pane = (AnchorPane) view.getDataView(area1_node);
}
这样的事情。
在上面的代码中,DUISectionDetails类中的dataViewProviders属性是List数据类型,但是您正在使用数组数据类型对其进行初始化,它将首先编译。