Я пишу приложение, которое имеет основную активность, которая управляет основным дисплеем, с которым пользователь просматривает и взаимодействует.
В нем также есть меню опций, и каждый пункт меню имеет свои собственные действия и макет для выполнения различных подчиненных задач. Некоторые из этих задач могут привести к изменению содержимого основного дисплея. Поэтому я хочу, чтобы эти подчиненные действия могли сигнализировать основную активность, которую она должна перерисовать или перекомпилировать основной дисплей, когда следующий контроль времени передается на главную активность, скажем, это обработчик onResume().
Какой легкий способ для одного действия сигнализировать другому, что он должен что-то сделать. Я исхожу из фона Windows, поэтому я ищу эквивалент отправки сообщения WM_PAINT или установки флага или семафора для чтения основной активности.
Я попробовал просто поставить публичное логическое значение в основной операции, но он жаловался, что он должен быть статичным. Спасибо заранее!
Как два компонента приложения для Android сообщают друг другу о вещах и широковещательных приемниках. http://developer.android.com/reference/android/content/BroadcastReceiver.html
Широковещательный приемник может быть либо зарегистрирован в манифесте, либо в коде динамически (хотя обязательно отмените регистрацию или журнал будет жаловаться на утечку передатчиков вещания).
Когда вы регистрируете ресивер, вам также необходимо указать намерение, которое соответствует намерению, которое вы использовали для создания широкоформатного канала.
Другим возможным способом вы можете это сделать, если вы вызываете одно действие непосредственно из другого, вы можете вызвать метод startActivityForResult(): http://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent, int).
О, также просто рекомендация, каждое приложение для Android имеет глобальные общие рекомендации, к которым вы можете подключиться, поэтому вы можете просто проверить, что всякий раз, когда вы перерисовываете.