본질적으로 수많은 테이블을 새로 고치는 전자 콘센트 어댑터가 있습니다. 이론적으로 모든 알림을 테이블에서 새로 고침해야하는 정확한 알림으로 필터링 할 수는 있지만 엄청난 모델과 많은 이벤트 및 변경 사항이있을 수 있으므로 매우 어렵고 시간이 많이 걸릴 것입니다. 새롭게 하다. 또한 종종 발생하는 것은 하나의 "사용자 이벤트"(예 : 응용 프로그램의 상태 -> 새 클릭)와 같이 장면 뒤에서 생성되는 4 개의 객체를 트리거합니다. 모두 알림 관점과 매우 유사하므로 어려움을 겪습니다. 필터 아웃. 4 가지 알림 만 단일 새로 고침을 일으킬 수 있도록 일종의 "지연된 작업"을 수행하는 좋은 방법이 있는지 궁금합니다. 예를 들어, 비슷한 : 누군가가이 일을 적절한 방법이 무엇인지에 도움을 줄 수 있다면 매우 도움이 될 것입니다, 그래서EContentAdapter에서 UI를 업데이트하는 올바른 방법
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 번.
정확하지는 않지만, 여전히 유용합니다. 기본적으로 위의 솔루션은 여전히 "내 물건"을 유발합니다. 20 개의 알림이 파이프를 1 초 이내에 내리면 refresh()가 20 번 발생합니다. 본질적으로 나는 잠시 동안 "상쾌하게"하는 것을 지연시키는 것을 찾고 있는데 사용자가 매우 빠르게 작업을 수행 할 경우 새로 고침을하지 않게된다. – jekelija