Я пытаюсь превратить мой список в отфильтрованный список.Я нашел инструкции по переполнению стека, но поток заблокирован, поэтому я не могу комментировать его, чтобы задать этот вопрос.По какой-то причине, когда я набираю выражение:
filteredOblist.setPredicate(s -> s.contains(filterUID));
s.contains (FilterUID));не работает из-за ошибки
Ошибка: (65, 51) Java: не удается найти символ символа: метод содержит (java.lang.String) расположение: переменная s типа Controllers.ModelTable
полный код:
public void initialize(URL location, ResourceBundle resources) {
filter_uid.textProperty().addListener(obs ->{
String filterUID = filter_uid.getText();
if (filterUID == null || filterUID.length() == 0){
filteredOblist.setPredicate(s -> true);
}else {
filteredOblist.setPredicate(s -> s.contains(filterUID));
}
});
Определения:
@FXML public TableView<ModelTable> taskManagerView;
@FXML public TableColumn<ModelTable, String> col_UID;
@FXML public TableColumn<ModelTable, String> col_Date;
@FXML public TableColumn<ModelTable, String> col_CreatedBy;
@FXML public TableColumn<ModelTable, String> col_Category;
@FXML public TableColumn<ModelTable, String> col_Task;
@FXML
TextField filter_uid;
@FXML
TextField filter_created;
@FXML
ChoiceBox filtered_choice;
@FXML
DatePicker filter_date;
ObservableList<ModelTable> oblist = FXCollections.observableArrayList();
FilteredList<ModelTable> filteredOblist = new FilteredList<>(oblist, s -> true);
Спасибо