Передайте int в другое действие - PullRequest
0 голосов
/ 21 февраля 2019

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

В моем случае это не так.«Обычно» данные передаются другому действию через Intents, Bundles ecc и запускается другое действие.

Вот мой случай:

У меня есть элемент с 4 параметрами (Image, String, String, int ) В AdapterClass у меня есть PopUpView, который повторно принимает эти 4 параметра.

Что я хотел бы достичь, это следующее: одним нажатием кнопки, 4-й параметр,int должен быть отправлен в основное действие и вставлен в textView внутри MainActivity, без (вот основное различие между этим и другими вопросами), запускающего основное действие.

Как это можно сделать?

TIA.

1 Ответ

0 голосов
/ 21 февраля 2019

с помощью BroadcastReceiver для отправки этого 4-го int в MainActivity в PopupView выполните следующие действия:

    Intent intent = new Intent("SOMEACTION");
    intent.putExtra("4th_int", value);
    activity.sendBroadcast(intent);'

// In MainActivity:

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        IntentFilter filter = new IntentFilter("SOMEACTION");
        this.registerReceiver(mReceiver , filter); 
        }

        @Override
        public void onDestroy() {
            super.onDestroy();
            this.unregisterReceiver(this.mReceiver );
        }

        private BroadcastReceiver mReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                if (intent.getAction() == "SOMEACTION") {
                     // retrieve the 4th int value and update something in MainActivity
                }
            }
        };
...