我有一个像这样的听众:
npm start
现在我的问题是,有没有办法在执行后删除此侦听器?我对这些类型的东西都很陌生。谢谢你的帮助!
答案 0 :(得分:2)
您应该单独创建ChangeListener
并保留对它的引用。
ChangeListener<Worker.State> listener = new ChangeListener<Worker.State>() {
public void changed(ObservableValue<? extends Worker.State> pobservable, Worker.State poldstate, Worker.State pnewstate) {
if (pnewstate = Worker.State.SUCCEEDED) {
//code to be executed
}
}
};
lwebview.getEngine().getLoadWorker().stateProperty().addListener(listener);
以后需要删除时:
lwebview.getEngine().getLoadWorker().stateProperty().removeListener(listener);
如果你只是需要听众留下来,直到它成为&#34;成功&#34;,那么你可以:
lwebview.getEngine().getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>() {
public void changed(ObservableValue<? extends Worker.State> pobservable, Worker.State poldstate, Worker.State pnewstate) {
if (pnewstate = Worker.State.SUCCEEDED) {
//code to be executed
lwebview.getEngine().getLoadWorker().stateProperty().removeListener(this);
}
}
});