JavaFX在ListView上设置项目值两次,只有一个项目将取消选择该项目(bug?)

JavaFX在ListView上设置项目值两次,只有一个项目将取消选择该项目(bug?),java,listview,javafx,Java,Listview,Javafx,我正在用e(fx)clipse编写JavaFX应用程序。我想我遇到了一个UI错误,但我不确定它是否是设计的 因此,我有两段代码,每段代码都有一个ListView设置为初级阶段的场景。第一个列表视图仅包含一个项目,而另一个列表视图包含多个项目。当我在ListView上选择了一个列表项,并且我以编程方式两次编辑列表项时,只有一个项目的ListView将取消选择所选项目,而有多个项目的ListView上的所选项目将保持选中状态 令人惊讶的是,如果列表视图上只有一个项目的列表项目被编辑一次而不是两次,它

我正在用e(fx)clipse编写JavaFX应用程序。我想我遇到了一个UI错误,但我不确定它是否是设计的

因此,我有两段代码,每段代码都有一个
ListView
设置为初级阶段的场景。第一个
列表视图
仅包含一个项目,而另一个
列表视图
包含多个项目。当我在
ListView
上选择了一个列表项,并且我以编程方式两次编辑列表项时,只有一个项目的
ListView
将取消选择所选项目,而有多个项目的
ListView
上的所选项目将保持选中状态

令人惊讶的是,如果
列表视图
上只有一个项目的列表项目被编辑一次而不是两次,它将保持选中状态。因此,问题似乎只发生在第二次编辑之后

以下是完整的代码:

public class Main extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage stage) {
        ListView<String> lv = new ListView<String>();
        lv.setItems(FXCollections.observableArrayList(Arrays.asList("A", "B", "C")));
        //remove B and C for the ListView with only one item
        stage.setScene(new Scene(lv, 200, 200));
        stage.show();
        lv.getSelectionModel().select(0);
        lv.getItems().set(0, "B");
        lv.getItems().set(0, "C");
    }
}
public类主扩展应用程序{
公共静态void main(字符串[]args){
发射(args);
}
@凌驾
公众假期开始(阶段){
ListView lv=新建ListView();
lv.setItems(FXCollections.observableArrayList(Arrays.asList(“A”、“B”、“C”)));
//删除只有一项的ListView的B和C
舞台场景(新场景(LV200200));
stage.show();
lv.getSelectionModel().select(0);
lv.getItems().set(0,“B”);
lv.getItems().set(0,“C”);
}
}

我只看到一个列表视图。另一个在哪里?@Steven请编辑代码并从第二个
列表视图的
asList()方法中删除B和C。