取消选择列表视图中的项目将触发选择事件

时间:2017-08-13 23:32:43

标签: java

loop: while((token=t.get_token())!=null)
{
t.remove(token);
System.out.println("token: "+token);
if(b.is_san_move_legal(token))
{
b.list.getSelectionModel().select(token);

所以我有一个listview,我在其中选择一个特定的令牌。然后在另一个类中,对象类' b'具有列表选择事件更改侦听器。

list.setItems(items);

list.getSelectionModel().selectedItemProperty().addListener(new 
ChangeListener<String>() {

@Override
public void changed(ObservableValue<? extends String> observable, String 
oldValue, String newValue) {
// Your action here
if(newValue != null) {
ObservableList<String> selectedItems =  
list.getSelectionModel().getSelectedItems();


for(String s : selectedItems){
System.out.println(s);
make_san_move(s,true); 
}
}

}
});

问题是每次调用make_san_move时listview需要更改但是选择似乎仍然附加到上一个选择,即使选择没有改变,make_san_move也会被相同的选择对象再次触发。我该如何解决这个问题。

0 个答案:

没有答案