0

我有一个原件ObservableList<PlanItem> src

我由此创建了一个 SortedList src,然后调用它sortedList

从 中sortedList,我想创建一个ObservableList<XYChart.Data>,称为dataSet. sortedList并且dataSet将始终具有相同的大小。sortedListPlanItemsdataSetXYChart.Data代表那些的节点PlanItems

如果PlanItem从 中删除a srcsortedList也将删除它。同时,我想XYChart.DatadataSet.

问题是,我不知道刚刚从sortedList. 我找不到确定刚刚删除的索引的方法。在不知道这个索引的情况下,我无法XYChart.DatadataSet.

4

1 回答 1

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
}
于 2014-08-08T12:20:19.933 回答