我有原件ObservableList<PlanItem> src
。
我从此src
创建一个SortedList,并将其命名为sortedList
。
从sortedList
开始,我想创建一个名为ObservableList<XYChart.Data>
的{{1}}。 dataSet
和sortedList
的大小始终相同。 dataSet
有sortedList
,PlanItems
有dataSet
个节点代表那些XYChart.Data
。
如果从PlanItems
删除PlanItem
,则src
也会将其删除。同时,我想从sortedList
删除其各自的XYChart.Data
节点。
问题是,我不知道刚刚从dataSet
删除了什么。我无法找到确定刚刚删除的索引的方法。在不知道此索引的情况下,我无法从sortedList
删除相应的XYChart.Data
节点。
答案 0 :(得分:1)
这是EasyBind框架的一个非常好的用例。您只需创建从sortedList
到dataSet
的映射,它就会为您处理所有添加和删除。
代码看起来像
ObservableList<XYChart.Data> dataSet = EasyBind.map(sortedList, this::makeChartData) ;
// ...
private XYChart.Data makeChartData(PlanItem planItem) {
// Just return a XYChart.Data corresponding to planItem
}