порядок уведомлений ContentObserver - PullRequest
2 голосов
/ 16 ноября 2010

Я запрашиваю ContentProvider, перебирая строки в курсоре, создавая объект для каждой строки и добавляя этот объект в список.Я регистрирую каждый объект как ContentObserver своего URI.Это работает нормально, объекты получают уведомление, когда их строка БД обновляется и / или удаляется.Моя проблема в том, что если строка БД удалена, как я знаю, чтобы удалить соответствующий объект из списка?

В методе объекта onChange () я запрашиваю ContentProvider для его _id, и если я не получаюРезультаты возвращаются, я устанавливаю «удаленный» флаг.Я также зарегистрировал список (на самом деле обертку ContentObserver вокруг списка) как ContentObserver для основного uri ContentProvider, и в этом методе onChange () я циклически перебираю список и проверяю «удаленный» флаг каждого объекта вперечислите и удалите его из списка, если он удален == true.

Однако, кажется, что список получает уведомление ДО того, как отдельные объекты ... следовательно, когда я перебираю список, соответствующий объект "удаляется""флаг еще не установлен.

Есть ли способ контролировать порядок, в котором ContentObservers получают уведомления об изменениях?поскольку в документах ничего не сказано, я подозреваю, что ответ «нет», но подумал, что я спрошу.

Текущая ситуация не так уж и плоха, поскольку в следующий раз список получит уведомление,он удалит ранее удаленный объект, следовательно, у меня есть не более 1 дополнительного объекта в списке ... но должен быть "одобренный" способ обработки этого, но, поскольку я новичок в разработке для Android, я не былв состоянии выяснить, что это будет.Есть предложения?

...