2017-06-04 97 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()); 
}