Я пытаюсь отправить события из одного Java-класса в Activity.
Сценарий: будет иметь некоторые данные в нативном, нативный вызовет функцию обратного вызова, которая находится в коде Java, этот класс обрабатываетданные, после обработки мне нужно обновить интерфейс.Я хочу обновить пользовательский интерфейс в одном месте в обработчике деятельности.(Не хочу использовать runOnUiThread () везде).
Мне не удалось правильно отправить события с использованием следующих подходов.
1-й подход:
1) Определить функции для отправки сообщений впоставьте в очередь и вызовите эти функции.
2) Для вызова вышеупомянутых функций (пункт 1) нам нужен контекст, если я поддерживаю статическую переменную для поддержания контекста и его возврата, если действие создается дважды, мы не сможем получитьконтекст записи для первого действия.
public class Activity1 {
protected static Context myContext = null;
protected Handler myHandler = null;
@override
public void onCreate() {
myContext = this;
myHandler = new Handler();
}
public static Context getMyContext() {
return myContext;
}
public void postEvent1() {
myHandler.sendMessage();
}
}
2-й подход:
1) Создание обработчика в качестве статической переменной и возвращение этого с помощью статической функции.- Не очень хороший дизайн для раскрытия внутренних переменных.
2) Минусы будут такими же, как описано выше, при создании второго действия.
public class Activity1 {
protected static Handler myHandler = null;
@override
public void onCreate() {
myHandler = new Handler();
}
public static Context getMyHandler() {
return myHandler;
}
}
Возможно ли получить контекст действия без использования статическогопеременные и статические функции?
Пожалуйста, поделитесь знаниями, если кто-нибудь знает.:)
Спасибо и всего наилучшего,
SSuman185