我有一个 econtent 适配器,它本质上会导致许多表的刷新。虽然理论上可以将所有通知过滤到应该导致表刷新的确切通知,但由于我们有一个庞大的模型以及许多可能触发的不同事件和更改,这将非常困难和耗时。刷新。此外,经常发生的是单个“用户事件”(例如在我们的应用程序中单击 state->new),触发 4 个在幕后创建的对象,从通知的角度来看,所有这些对象看起来都非常相似,因此很难过滤掉。我想知道是否有一种好方法可以完成某种“延迟工作”,以便 4 个通知仅导致一次刷新。例如,类似于:
public void notifyChanged(final Notification notification)
super.notifyChanged(notification);
@Override
public void run() {
if(matchesFilters(notification)) {
//some sort of check to see if we recently had another event that would have triggered a refresh?
if(!schedulingJob) {
scheduleDelayedJob();
}
}
}
}
不幸的是,我在工作和类似的事情上经验很少,所以如果有人能提供帮助,这将是非常有帮助的。
再举一个例子,如果有人在我们的应用程序中快速按下 control-N 20 次,它会迅速创建 20 个新状态,我们只想在这 20 个通知结束时更新 UI,而不是刷新 20 次。