Я работаю с JavaFx, чтобы попытаться загрузить listView из названий книг.Мое основное приложение переключается между двумя представлениями, списком названий книг (над чем я работаю) и подробным представлением для каждой книги.Я попытался реализовать listView следующим образом:
public class BookListController implements Initializable, MyController{
@FXML
private ListView<String> list;
private List<Book> books;
public void populateList() {
//list.getItems().addAll("Book 1", "Book 2", "Book 3", "Book 4");
books = BookTableGateway.getInstance().getBooks();
for(Book b : books) {
list.getItems().add(b.getTitle());
}
}
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
// TODO Auto-generated method stub
populateList();
}
Я использовал list.getItems().addAll("Book 1", "Book 2", "Book 3", "Book 4");
для проверки моего кода, и это работало нормально.Моя проблема связана с изменением этого, чтобы получить данные из базы данных (я могу получить данные успешно).Представление списка будет успешно загружено при первом его открытии.Однако, если я пытаюсь переключаться между представлениями, названия которых больше не загружаются в список, после первого раза.
Поскольку мой вызов для загрузки этого представления - controller = new BookListController();
, не должен вызываться init () каждыйвремя, которое будет загружать представление списка?