我是Android开发的新手。
我创建了一个主要的Activity( - > A),它有4个按钮。其中一个按钮是EXIT按钮。
点击退出按钮,我开始另一项活动( - > B)。这将通过'A'Activity的意图打开'B'Activity。
活动'B'包含 - 你要退出吗?是的 - 按钮&无键式
如果我给完成(),按下按钮 - 它会退出'B'Activity。我想完成'B'& 'A'。
我甚至尝试过A.finish() - >这不会被识别并导致语法/语义错误。
我很感激这里的帮助。
P.S:我使用的是Android-2.2版手机,我不喜欢用ActivityManager来解决这个问题。答案 0 :(得分:49)
尝试使用
启动子活动 startActivityForResult(intent, REQUEST_EXIT);
在儿童活动中
case R.id.quit:
setResult(RESULT_OK, null);
finish();
在父母活动中
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_EXIT) {
if (resultCode == RESULT_OK) {
this.finish();
}
}
}
答案 1 :(得分:6)
在活动A 中使用startActivityForResult()
作为开始活动B,在{A} onActivityResult()
活动A中使用finish()
。在按下的活动B中仅按{{1 } 活动B 。
答案 2 :(得分:5)
您可以从儿童活动中完成父活动,例如......
在父母......
startActivityForResult(new Intent(Parent.this, Child.class), ACTIVITY_CONSTANT);
并覆盖Parent中的OnActivityForResult(...)方法。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == ACTIVITY_CONSTANT)
{
finish();
}
}
当您在子活动上调用finish()时,它也会完成父级。