Android – вызов метода в одном действии из другого, без запуска новой активности

Я разрабатываю приложение для Android с помощью GreenDroid. Приложение предназначено только для тестирования atm, поэтому все, что он содержит, это ActionBar с кнопкой обновления, тремя вкладками и активностью для каждой из этих вкладок.

Все, что я пытаюсь достичь в данный момент, показывает сообщение тоста, когда кнопка обновления нажата на ActionBar, но я хочу, чтобы сообщение тоста вызывалось из одного из моих действий, мы будем называть его Listener1Activity, который является Активность, которая находится на первой вкладке … это потому, что Listener1Activity в конечном итоге будет содержать список, который я хочу перезагрузить, когда нажата кнопка ActionBar, если я могу заставить его работать с простым тостом, пока я могу разобраться в том, что позже.

Я искал намерения, трансляции, но ничего похоже не подходит.

Я не хочу, чтобы активность начиналась каждый раз при нажатии кнопки, я просто хочу, чтобы в ней вызывался вызов и показывал тост.

Таким образом, в основном, это похоже на одновременное выполнение двух действий и нажатие кнопки одним вызовом метода в другом. Не так ли? Или я ошибаюсь?

SenderActivity и Listener1Activity.

В iOS я просто отправлю NSNotification из SenderActivity и добавлю наблюдателя в Listener1Activity. Какой был бы лучший способ достичь этого в Android?

Благодаря!

Стивен

    Если вы не хотите, чтобы другая операция была создана, это не место для этого метода. Если это совместная функциональность между несколькими действиями, почему бы не создать базовый класс для ваших действий, происходящий из Activity.

    public class ActivityBase extends Activity { public void showToast() { ... 

    Тогда ваши действия вытекают из этого

     public class MyActivity extends ActivityBase { public void someMethod() { showToast(); 

    Правильно. Если метод является статическим, что, вероятно, должно быть, если это ваша цель, просто назовите его следующим образом:

     YourClass.staticMethod(params); 

    Если нет, вам нужно создать для него объект.

     YourClass yourClass = new YourClass(constructorParams); yourClass.method(params); 

    Это должно сделать это.

    Я не уверен в вашем вопросе, но попробуйте, возможно, это будет работать

     ((MainActivity) activity).textViewSetText(); public void textViewSetText (String value){ tv.setText(value); } 

    Но ваша деятельность должна расширять MainActivity.

    В дополнение к статическому методу вы не можете вызвать какие-либо методы, которые в другом действии!

    Intereting Posts
    Как закодировать WAV в mp3 на Android-устройстве Рисование линии с определенной шириной пикселя Рекомендации для разработчика C # – относительно плавного перехода на Android? Appium: Может ли он использоваться для тестирования кросс-платформенных приложений Multi Primary Keys в Android SQLite Импорт com.google.api.client не может быть разрешен в Eclipse ImageView не растягивает изображение должным образом Когда я отлаживаю свое приложение, я часто получаю ошибку запуска: не удалось подключиться к удаленной виртуальной машине Настройка параметров в дочерних представлениях RelativeLayout Очистить backstack и заменить текущий фрагмент фрагментом верхнего уровня Android LVL разумно? Android L – нет однорангового сертификата Почему VirtualBox не обнаруживает мое Android-устройство? Как использовать EditTextPreference в качестве текстового поля с маскированным паролем? Покрытие кода Jacoco по проекту с несколькими вкусами и модулями