传递给另一个 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
}
}
};
在你喷我之前: 我知道那里有无数的教程,我自己也知道如何将数据传递给另一个 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
}
}
};