2016-10-19 2 views
0

내 문제는 사용자가 listViewer에서 선택을하지 않아도 내 프로그램이 여전히 "null"참조 개체를 생성한다는 것입니다. 어떻게하면 개체를 제거 할 수 있습니까? 아니면 더 나은 선택을하지 않으면 어떻게 진행할 수 없게합니까?내 사용자가 ListViewer에서 선택하도록 강요하는 방법은 무엇입니까?

목록의 항목을 선택하는 한 프로그램이 훌륭하게 작동합니다. 더 많은 정보 나 코드가 필요하면 알려주세요!

편집 : 분명히 내 문제에 대해 약간의 정보를 제공했습니다. ListView 선택 항목에서 "Driver1"을 제공합니다. "예약"버튼을 클릭하면 새로운 예약으로 Driver1이 드라이버로 제공됩니다. 난 그냥 "예약"버튼을 입력 할 경우, 나는 아무것도 선택되어 있지 않은 경우 (documentation 참조) -1를 반환하는 드라이버

int input = listView.getSelectionModel().getSelectedIndex(); 

    TaxiSystem.createBooking(dest.getText(), pass.getText(), name.getText(),input);  

답변

1

getSelectedIndex()로 "널 (null)"을 얻는다. 그래서 당신은 또한

int input = listView.getSelectionModel().getSelectedIndex(); 

if (index >=0) { 
    TaxiSystem.createBooking(dest.getText(), pass.getText(), name.getText(),input); 
} 

을 수행 할 수 있습니다, getSelectedItem() (당신의 createBooking 방법은 무엇을하고 있는지에 따라)를 사용하는 것이 더 편리 할 수 ​​있습니다. 아무것도 선택되어 있지 않은 경우 그 방법은 null를 반환합니다 MyDataTypeListView에 대한 데이터 유형입니다

MyDataType item = listView.getSelectionModel().getSelectedItem(); 

if (item != null) { 
    // ... 
} 

.

+0

이것은 효과가 있습니다. 고마워요! 다들 감사 해요 ;) – Softy

관련 문제