0

オリジナルを持っていObservableList<PlanItem> srcます。

この から SortedList を作成し、srcそれを呼び出しますsortedList

から、というsortedListを作成したいと思います。常に同じサイズになります。has 、hasはそれらを代表するノードです。ObservableList<XYChart.Data>dataSetsortedListdataSetsortedListPlanItemsdataSetXYChart.DataPlanItems

PlanItemから を削除するとsrcsortedListもそれを削除します。同時に、それぞれXYChart.Dataのノードを から削除したいと思いますdataSet

問題は、 から何が削除されたのかわかりませんsortedList。削除されたばかりのインデックスを特定する方法が見つかりません。このインデックスを知らなければ、それぞれのXYChart.Dataノードを から削除する方法がありませんdataSet

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 に答える