Привет, у меня есть приложение, которое после входа в систему загружает основное действие, содержащее вкладку с 3 вкладками, содержащими списки. Каждая вкладка заполняется через sqlite + пользовательский адаптер. База данных изначально заполняется данными xml (асинхронно синхронизируется с базой данных sqlite).
Моя проблема: я хочу разрешить ручную синхронизацию базы данных sqlite с данными XML, которая затем обновляет текущее представление списка на вкладке. У меня отлично работает асинхронный поток, выполняющий фоновое обновление базы данных. Чего я не могу понять, так это как принудительно обновить список текущей вкладки. Проблема в том, что я не знаю, как получить доступ к вспомогательному действию в tabhost из родительского действия.
Я уверен, что notifyDataSetChanged() - это то, что мне нужно, но я не могу понять, как получить доступ к активности вкладки> адаптеру, чтобы сделать это. Как мне получить доступ к адаптеру вспомогательных действий, чтобы вызвать notifyDataSetChanged()? Родительское (содержащее) действие имеет кнопку, которая будет использоваться для обновления списка вкладок.
Альтернатива: я мог бы попробовать передать намерение из обратного вызова onPostExecute() моего фонового потока. т.е., когда он завершает обновление базы данных данными xml, моя вкладка получает трансляцию и запускает ее для обновления с помощью notifyDataSetChanged()... но, вероятно, это НЕ то, как разработаны намерения трансляции/получения, верно?? т. е. связь между действием и активностью просмотра списка вкладки?
Это мой второй пост о переполнении стека. Надеюсь, я объяснил все понятно. Спасибо за любую помощь или совет, который вы можете предоставить
EDIT (16 января 2012 г.): Прошло много времени с тех пор, как я работал над этой проблемой. Первоначально я использовал решение для трансляции намерения и его использования в дочерней активности. НО с тех пор я последовал совету многих других (и вам следует тоже)! и вместо этого перестал использовать действия внутри вкладок. Теперь я использую представления на вкладках. Это работает НАМНОГО лучше и чище.
Помимо того, что код стал слишком громоздким, я также получал странные ошибки типа «База данных не закрыта» при переходе между действиями, а также при повороте разделения из портретной/пейзажной ориентации. Представления во вкладках вместо действий исправили многие проблемы, и я уверен, что это лучше с точки зрения использования ресурсов.