我对android很新,我不确定意图。
如果我有3个活动,AB和C,活动A需要在不同时间接收来自B和C的捆绑(例如:从B移动到A,或从C移动到A),我将如何进行是什么?
希望这个问题不是太模糊......
答案 0 :(得分:0)
要从活动A开始活动B,您可以致电
final int REQ_STARTB = 101; // anything non-zero
startActivityForResult(REQ_STARTB, new Intent(A.this, B.class)).
//Similar for C.
然后当你从B获得一些数据并希望将它们传回A时,你可以从B:
开始Intent I = new Intent()
I.putExtra("MyStringData", stringYouWantToReturn);
//and similar for other types
setResult(RESULT_OK);
finish();
所以它会回到A,在A中你会有
public onActivityResult(int req, int res, Intent data) {
if(req == REQ_STARTB) {
if(res == RESULT_OK) {
String dataFromB = data.getStringExtra("MyStringData");
}
}
}
答案 1 :(得分:-1)
您可以随时从活动B或C调用活动A.您只需创建一个新的Intent,将其发送给您当前的上下文和您要调用的Activity。 E.g:
Intent i = new Intent(this,ActivityB.class);
然后通过致电:
开始你的意图startActivity(ⅰ);
请记住,您必须确保在清单中定义了所有活动。