У меня есть виджет вкладки, где одна из вкладок является функцией типа чата. Я хочу обновить данные чата с интервалом (переменная в зависимости от того, активна ли вкладка чата).Обновление пользовательского интерфейса активности от метода различной активности?
Наилучший подход, казалось, использовал AsyncTask в моем основном классе TabActivity, поскольку это позволило бы избежать любых проблем, связанных с тем, что активность чата была уничтожена в фоновом режиме, в то время как AsyncTask запускался. Я хотел убедиться, что Activity не разрушен и не воссоздан, что приводит к тому, что моя AsyncTask не сможет изменить фактические данные активного Activity.
Однако, теперь, когда мой AsyncTask находится в активности TabActivity, у меня нет прямого способа вызвать метод List12apter моего чата notifyDataSetChanged()
из моего метода onPostExecute()
. Есть ли способ получить ссылку на текущую активность данной Tab из TabHost/TabActivity?
Или, в качестве альтернативы, могу ли я предположить, что моя активность в чате никогда не будет уничтожена как дочерняя активность активности TabActivity (ну, никогда не будет уничтожена, пока активна активность TabActivity), а затем просто поместите AsyncTask в действие чата ?
Модифицированная версия этого сработала прекрасно: в моей работе с чатом я создаю поток и создаю обработчик в этом потоке для запуска моих периодических загрузок. После успешной загрузки я обновляю набор данных адаптера внутри 'runOnUIThread()'. Затем я планирую следующий цикл обновления с помощью метода 'postDelayed()' моего обработчика. И когда моя активность уничтожается, я использую 'handler.removeCallback()' в моем обновлении Runnable. Благодаря! – stormin986