我希望将数据发送到两个活动中的一个活动...例如A,B和C,当活动A将数据发送到活动B时,活动C将数据发送到活动B活动B如何知道来自A的数据或C. 例如:
//this Activity A
Intent i=new Intent(this,B.class);
//send data by i such as id
//this Activity C
Intent in=new Intent(this,B.class);
//send data by in Intent such as id
//send data by in Intent such as email
//in activity B
Bundle val =getIntent().getExtras();
if(val!=null)
int id=val.getInt("id");
String s=val.getString("email");
// to show
Toast.makText(Main.this, id, Toast.LENGTH_LONG).show();
Toast.makeText(Main.this, s, Toast.LENGTH_LONG).show();
答案 0 :(得分:2)
如何添加一个额外的新内容,以使您获得之前的活动,如:
i.putExtra("Activity","A");
同样适用于活动C:
i.putExtra("Activity, "C");
和活动B:
Bundle val=getIntent().getExtras();
if(val!=null)
int id=val.getInt(Key);
String s=val.getString("email");
String activity = val.getString("Activity");
然后使用Activity变量来识别宝贵的Acitvity
希望这会帮助你。
之前检查此question答案 1 :(得分:2)
我也遇到了同样的问题然后我通过添加FLAGS来解决它,就像数据来自哪个活动一样。例如: -
//this Activity A
Intent i=new Intent(this,B.class);
i.putExtra(key, value);
i.putExtra("from_which", "from_a");
//this Activity C
Intent i=new Intent(this,B.class);
i.putExtra(key, value);
i.putExtra("from_which", "from_c");
// in activity B
Intent intent = getIntent()
String from_which = intent.getStringExtra("from_which");
if(from_which.equals("from_a")){
// from A
}
else if(from_which.equals("from_c")){
// from C
}
答案 2 :(得分:0)
您可以使用全局类并使用getter setter保存值。在activity上使用对象获取值。