在你解雇我之前: 我知道那里有无数的教程,而且我自己也知道如何将数据传递给另一个ACtivity,
在我看来,这是不同的。 “通常”数据通过Intent,Bundles ecc传递给另一个活动,并且另一个活动已启动。
这是我的情况:
我有一个带4个参数(图像,字符串,字符串, int )的项目 在AdapterClass中,我有一个PopUpView可以重新获取这4个参数。
我想实现以下目标:
单击按钮的第四个参数int
应该发送到Main活动,并插入MainActivity内部的textView中,不(这是此操作与其他问题)启动主要活动。
这怎么办?
TIA。
答案 0 :(得分:2)
使用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
}
}
};
答案 1 :(得分:0)
这有效且非常容易
Intent intent = new Intent(getApplicationContext(),YourActivity.class);
intent.putExtra("number",1);
startActivity(intent);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//get the data from the YourActivity
int userid = (Integer) getIntent().getExtras().get("number");
}
};
答案 2 :(得分:0)
您的问题不是很清楚,您能指出要存档的内容吗? 为什么将数据传递到活动中?
答案 3 :(得分:0)
当将数据传递给活动时,只要该活动不在堆栈中或处于活动状态,则该数据是无用的,直到通过在create lifecycle方法上调用i'ts触发了该活动,然后初始化该视图,并且数据可以进行处理,所以如果没有问题,除了活动在服务的后台线程上仍处于活动状态之外,无法存档问题