我的问题是即使用户没有在listViewer中进行选择,我的程序仍会创建一个引用为“null”的对象。如何删除对象,甚至更好,如果没有选择,我如何使其无法继续?
只要我在列表中选择一个项目,该程序就可以正常运行。如果您需要更多信息或代码,请告诉我们!
编辑:显然我提供了关于我的问题的小信息。让我们说ListView选择提供“Driver1”。如果我点击“预订”按钮,新预订会将Driver1作为驱动程序。但是,如果我只输入“预订”按钮,我将获得“null”作为驱动程序 int input = listView.getSelectionModel().getSelectedIndex();
TaxiSystem.createBooking(dest.getText(), pass.getText(), name.getText(),input);
答案 0 :(得分:1)
getSelectedIndex()
will return -1
if nothing is selected (see documentation). So you can do
int input = listView.getSelectionModel().getSelectedIndex();
if (index >=0) {
TaxiSystem.createBooking(dest.getText(), pass.getText(), name.getText(),input);
}
Alternatively, it might be more convenient to use getSelectedItem()
(depending on what your createBooking
method is doing). That method will return null
if nothing is selected:
MyDataType item = listView.getSelectionModel().getSelectedItem();
if (item != null) {
// ...
}
where MyDataType
is the data type for your ListView
.