以下情景:
我有4项活动,A,B1,B2和C
活动A通过以下方式调用B1:
public void toB1(View view)
{
Intent b1 = new Intent(this, B1Activity.class);
startActivityForResult(b1, 2);
}
活动B1通过以下方式调用B2:
public void toB2(View view)
{
Intent b2 = new Intent(this, B2Activity.class);
startActivity(b2);
}
然后,当B2完成其工作时,它应该调用C并通过以下方式关闭B1和B2:
public void toC(View view)
{
Intent c = new Intent(this, CActivity.class);
finish();
finishActivity(2);
startActivity(c);
}
但是现在,当我在C点击并返回返回键时,我会被定向到B1而不是A.
但B1应该完成,我的代码中是否有错误或我是否误解了startActivityForResult
的概念?
答案 0 :(得分:1)
我解决了下面因为你必须创建id
,
<强> B1Activity.java 强>
Singleton
以这种方式开始意图。
public static B1Activity instance = null; //declare it global
并创建此方法
public void onClick(View v) {
Intent b2 = new Intent(B1Activity.this, B2Activity.class);
startActivity(b2);
}
现在在 B2Activity.java 中使用此代码。
@Override
public void finish() {
super.finish();
instance = null;
}