2017-06-04 3 views
0

Meine Frage zu arbeiten, wie ich meine Listview zu beheben, da es nicht alles, was ich habeVersuch Listenansicht zu erhalten

Also in meiner Haupt-Datei nicht zeigen

private ObservableList<Customer> customers = FXCollections.observableArrayList(); 

zwei Kunden hinzugefügt werden

Customer kelly = addCustomer("95432123", "Kelly Lee"); 
Customer tim = addCustomer("92345678", "Tim Williams"); 

ich habe eine Methode zur Rückführung des ObservableList

public final ObservableList<Customer> getCustomers() { 
    return customers; 
} 

auf meine XML-Datei habe ich eine Listview über

an den Controller verbindet
<ListView fx:id="namelistview" layoutX="159.0" layoutY="8.0" prefHeight="200.0" prefWidth="200.0" /> 

Also ich auf meinem Controller stecken bin tatsächlich versucht, Daten in die Listview in der ich zur Zeit

Kelly Lee: 95432123 

Form drucken zu lassen habe dies in meiner Controller-Datei aber meine Listenansicht zeigt immer noch als leere

public class PizzeriaController extends Controller<Pizzeria> { 
ObservableList<Customer> customers = FXCollections.observableArrayList(); 

@FXML 
private ListView<Customer> namelistview; 

public void namelistview() { 
    namelistview.setItems(getPizzeria().getCustomers()); 
    } 



public void initialize() { 
} 

public final Pizzeria getPizzeria() { 
    return model; 
} 
} 
+1

Ihre Beobachtungsliste, die Sie wahrscheinlich in setitems verwenden sollten, sind Kunden. Außerdem würde ich in der Initialisierungsmethode festlegen. Dann tun Sie vielleicht 'customers.add (getPizzeria(). GetCustomers());' in Ihrer nameslistview Methode. – Sedrick

+0

@ coder ist richtig. Ich hätte eine Antwort erstellen sollen, aber ich war faul. Hoffen wir, dass die Antwort nicht vollständig oder fehlerhaft ist. lol – Sedrick

Antwort

1

Die namelistview.setItems Methode eine ObservableList muss bis als Eingabe, so ändern:

namelistview.setItems(getPizzeria().getCustomers()); 

zu:

namelistview.setItems(customers); 

und diesen Code in der Methode initialize setzen:

public void namelistview() { 
    namelistview.setItems(getPizzeria().getCustomers()); 
} 

zu:

public void initialize() { 
    namelistview.setItems(customers); 
} 

Jetzt ändern:

public void namelistview() { 
    customers.add(getPizzeria().getCustomers()); 
} 
Verwandte Themen