传递给另一个 Activity

Pass int to another Activity

在你喷我之前: 我知道那里有无数的教程,我自己也知道如何将数据传递给另一个 ACtivity,就像那样。

在我的情况下是不同的。 "Usually" 数据通过 Intents、Bundles ecc 传递给另一个 activity,另一个 Activity 已启动。

这是我的案例:

我有一个带有 4 个参数的项目(图像、字符串、字符串、int) 在 AdapterClass 中,我有一个 PopUpView,它重新获取了这 4 个参数。

我想要实现的是: 单击按钮,第 4 个参数,int 应该发送到 Main activity 并插入 MainActivity 内的 textView,without(这是这个问题和其他问题的主要区别)启动 Main Activity.

如何做到这一点?

TIA。

使用 BroadcastReceiver 将第 4 个 int 发送到 MainActivity 在 PopupView 中执行这些操作:

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

//在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
                }
            }
        };