Обновление пользовательского интерфейса в Android

1

В моем приложении и в одном подклассе Application (ApplicationEx class) есть много действий. Мое приложение отправляет и получает SIP-сообщения. Если получено новое сообщение, появляется обратный вызов сообщения, полученного в классе ApplicationEx. Из класса ApplicationEx как информировать пользовательский интерфейс (конкретную активность)? И для каждого сообщения неэффективно транслировать намерение по этой ссылке. Какие методы доступны для обновления интерфейса? и какой метод подходит для этого приложения?

  • 1
    Обновить интерфейс каким образом? Чтобы вызвать перерисовку, вызовите invalidate() в корневом View действия.
Теги:

2 ответа

1
Лучший ответ

Я использовал обработчик для обновления интерфейса. Чтобы обновить интерфейс, я переопределяю метод handleMessage для Handler.Callback.

0

Я бы рекомендовал зарегистрировать слушателя (т. OnDirtyViewListener Создать OnDirtyViewListener) и зарегистрировать его регистр Activity. Затем, когда Application сочтет View загрязнен, выпалить вызов и иметь Acitvity postInvalidate() его верхний уровень View.

  • 0
    Вы можете объяснить свой ответ подробно?
  • 0
    Создайте интерфейс OnDirtyViewListener с методом onViewDirty(Object... args) в вашем Application . В onCreate(Bundle) Activity с onCreate(Bundle) вызовите в registerOnDirtyViewListener(OnDirtyViewListener) Activity вызов метода registerOnDirtyViewListener(OnDirtyViewListener) в Application . Затем, когда Application захочет обновить View , оно просто вызовет метод onViewDirty() слушателя. Это заставит Activity делать то, что вы настраивали для метода (в основном, invalidating() «грязное View ).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню