我有一个带有几个TextFields和TableView的窗口。我创建了一个搜索引擎,每次我在TextFields中编写时,都会显示一个给定对象的新数组,这些数组符合我在TextFields中编写的内容。现在,我已经测试了它,我知道搜索引擎可以工作。但是当我尝试更新TableView时出现问题。我试图通过它,但我能想到的唯一解决方案是每次在其中一个TextFields中输入内容时刷新整个窗口。但这显然不是一件好事。
所以我的问题是:你知道如何刷新TableView中的列表,而不刷新整个窗口吗?或者还有什么我可以用来直观地显示例如“Person”对象,使它们可以点击并保存指向给定对象的指针?
请随时提出任何意见,我将很乐意尝试或讨论您的意见!
答案 0 :(得分:1)
发现问题!
setItems();似乎调用了object.equals();
我在.equals()的@Override中犯了一个错误;
@Override
public boolean equals(Object obj) {
return this.birthNo.equals(((Person) obj).getBirthNo());
}
将其更正为:
@Override
public boolean equals(Object obj) {
return obj != null && this.birthNo.equals(((Person) obj).getBirthNo());
}