2017-06-04 61 views
0

我的问题是我怎么解决我的ListView,因为它不会因此在我的主文件显示任何试图让列表视图工作

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

两个客户添加

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

我有一个方法,返回的ObservableList

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

在我的XML文件,我有一个列表视图连接到控制器通过

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

所以我坚持我的控制器上试图居然有印到ListView中的表单数据

Kelly Lee: 95432123 

我目前有这在我的控制文件,但我的列表视图仍然显示为空白

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

您应该在setitems中使用的observablelist是客户。另外,我会在初始化方法中使用setitems。然后,可以在你的namelistview方法中使用'customers.add(getPizzeria()。getCustomers());'。 – Sedrick

+0

@ c0der是对的。我应该创造一个答案,但我是懒惰的。希望答案不是完整的或错误的。大声笑 – Sedrick

回答

1

的namelistview.setItems方法需要一个ObservableList作为输入,所以更改:

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

到:

namelistview.setItems(customers); 

,并把这个代码初始化方法中:

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

现在改变:

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

到:

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