我的问题是,即使用户没有在 listViewer 中进行选择,我的程序仍然创建一个引用“null”的对象。我如何删除该对象,或者更好的是,如果未进行选择,如何使其无法继续?
只要我在列表中选择一个项目,该程序就可以正常工作。如果您需要更多信息或代码,请告诉我!
编辑:显然我提供了有关我的问题的很少信息。假设 ListView 选择提供“Driver1”。如果我点击“预订”按钮,新的预订将让 Driver1 作为司机。但是,如果我只是输入“Book”按钮,我会得到“null”作为驱动程序
int input = listView.getSelectionModel().getSelectedIndex();
TaxiSystem.createBooking(dest.getText(), pass.getText(), name.getText(),input);
最佳答案
如果未选择任何内容,
getSelectedIndex()
将返回 -1
(请参阅 documentation )。所以你可以这样做
int input = listView.getSelectionModel().getSelectedIndex();
if (index >=0) {
TaxiSystem.createBooking(dest.getText(), pass.getText(), name.getText(),input);
}
或者,使用 getSelectedItem()
可能会更方便(取决于您的 createBooking
方法正在执行的操作)。如果未选择任何内容,该方法将返回 null
:
MyDataType item = listView.getSelectionModel().getSelectedItem();
if (item != null) {
// ...
}
其中 MyDataType
是 ListView
的数据类型。
关于java - 如何强制用户从 ListViewer 中进行选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40132419/