【问题标题】:Trying to add string to ListView on button press尝试在按下按钮时将字符串添加到 ListView
【发布时间】:2020-07-17 22:43:13
【问题描述】:

我试图在按下按钮时将字符串添加到我的 ListView 中,但它没有添加它。我假设问题在于刷新 ListView,但我不知道该怎么做。

【问题讨论】:

  • 注意:listView.refresh() 总是(除了非常罕见的极端情况)错误的做法 - 这表明您的设置以某种方式损坏!

标签: java listview javafx


【解决方案1】:

FXCollections.observableArrayList(...) 创建一个新的可观察列表并添加提供给它的元素。如果在此处传递一个数组,则该数组的元素会被复制到新的列表中,并且该数组与可观察列表之间将不再有任何联系,因此后续对数组的更改将不会反映在可观察列表中.

您需要做的就是直接更改支持列表。从您的代码中并不清楚您打算做什么:您的数组中有一个元素,并且您遍历数组(即仅一次)将所有元素(只有一个)更改为"k"

所以相当于这个,但修改列表,只是

addButton.setOnAction(e-> {
    lv.getItems().set(0, "k");
});

你的问题的标题说你想添加和元素到列表视图,你会这样做

addButton.setOnAction(e-> {
    lv.getItems().add("k");
});

【讨论】:

  • 非常感谢。这完全符合预期。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-23
  • 2015-11-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多