sud*_*hkr 21 android android-intent android-ui android-2.2-froyo android-activity
我是Android开发的新手.
我创建了一个主Activity( - > A),它有4个按钮.其中一个按钮是EXIT按钮.
我点击退出按钮开始另一个活动( - > B).这通过'A'Activity的意图打开'B'Activity.
活动'B'包含 - 你要退出吗?是 - 按钮和无按钮.
如果我给完成(),按下按钮 - 它会退出'B'Activity.我想完成'B'和'A'.
我甚至尝试过A.finish() - >这不会被识别并导致语法/语义错误.
我很感激这里的帮助.
PS:我使用的是Android-2.2版手机,我不喜欢用ActivityManager来解决这个问题.
Geo*_*zov 50
尝试启动子活动
startActivityForResult(intent, REQUEST_EXIT);
Run Code Online (Sandbox Code Playgroud)
在儿童活动中
case R.id.quit:
setResult(RESULT_OK, null);
finish();
Run Code Online (Sandbox Code Playgroud)
在父母活动中
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_EXIT) {
if (resultCode == RESULT_OK) {
this.finish();
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用startActivityForResult()在活动A用于启动活动B和onActivityResult()以公正的finish()活动A.在上按钮活动B只按finish() 活动B.
您可以通过子活动完成父活动,例如......
在父母......
startActivityForResult(new Intent(Parent.this, Child.class), ACTIVITY_CONSTANT);
Run Code Online (Sandbox Code Playgroud)
并覆盖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();
}
}
Run Code Online (Sandbox Code Playgroud)
当您在子活动上调用finish()时,它也会完成父级.
| 归档时间: |
|
| 查看次数: |
24467 次 |
| 最近记录: |