我试图在我的代码中使用 observable 并且这个问题让我很难过。
public class observeState extends Observable
{
public void setSelectedTransaction(int idx)
{
if (selectedTransaction != idx)
{
this.selectedTransaction = idx;
setChanged();
notifyObservers("setSelectedTransaction");
System.out.println("Observers : "+this.countObservers());
}
}
public void setLog(Log log)
{
if(theLog != log) {
theLog = log;
System.out.println(theLog.getLogTransactions().size() + "setLog");
setChanged();
notifyObservers("setLog");
System.out.println("Observers : "+this.countObservers());
}
}
有两个观察者在观察这个可观察类,当使用测试行“Observers : 2”调用notifyObservers
该方法时,它确实会发送出去。setSelectedTransaction
然而,下一个方法setLog
似乎没有观察者给出“观察者:0”。我不认为我只能使用一次可观察的方法。