2013-08-26 3 views
0

У меня есть схема базы данных, где я загружаю кучу клиентов с сервера с данными, такими как имя, фамилия и идентификатор в мой db, когда приложение запускается. Затем эти данные отображаются в формате списка для пользователя. У меня есть еще одна вкладка в моем приложении, которая переключается на представление, которое показывает список клиентов, отсортированный по id, в разделы, похожие на приложение для людей с заголовками разделов. Проблема в том, что пользователь может перейти на вкладку отсортированного списка сразу же после запуска, и этот список зависит от того, что db уже заполняется клиентскими объектами. Он будет делать запрос на пустой db, если пользователь немедленно переключится. Есть ли способ заблокировать этот вызов, пока db не будет полностью загружен данными клиента? Я знаю, что java имеет синхронизированные методы, поэтому я могу синхронизировать запрос db или делать что-нибудь подобное?Синхронизация вызовов db

ответ

0

Самый простой способ - добавить isReady boolean и выполнить цикл, это верно (предполагается, что отдельный поток заполняет db). В качестве альтернативы вы можете отключить кнопку, пока она не будет готова, что является лучшим решением.

+0

Эти две вкладки работают в своих собственных фрагментах. Где именно было бы задано значение isReady boolean и как управлять данными, проходящими между фрагментами. –

+0

Фрагменты могут взаимодействовать через разные переменные, это может быть не самый чистый способ (я думаю, что отключить вкладку, пока она не будет готова, является лучшим вариантом). но если у вас есть общедоступный статический булев в классе, который заполняет db, любой может получить к нему доступ. Поэтому, если бы хрупкость проверила это логическое значение и ждала, пока это не так, оно должно работать –

Смежные вопросы