JavaFX listview метод init () - PullRequest
       1

JavaFX listview метод init ()

0 голосов
/ 20 февраля 2019

Я работаю с 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 () каждыйвремя, которое будет загружать представление списка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...