4

我是android的初学者。谁能帮我举个例子?

到目前为止,我已经搜索过它,但没有找到有用的东西。才发现关闭父Activity也需要用setResult()方法关闭子Activity。

我到底在寻找的是,我的父活动应该从子活动中关闭,而无需完成子活动。

4

5 回答 5

1

创建 Context 的静态变量,如 static Context cntxofParent;在父活动中

然后在 Parent Activiy 中初始化该引用,例如

cntxofParent=ParentActivityName.this;

当您处于子活动中时,请收集该上下文并将其转换为 Activity,如下所示,

活动父活动;

parentActivity=(Activity)cntxofParent;

于 2013-07-11T15:33:30.617 回答
1

在子活动中,尝试使用返回父活动的 getParent() 方法,然后完成它!

于 2013-01-24T22:33:10.700 回答
1

活动回栈就像一个栈一样工作,即您可以将活动弹出和推送到它上面。如果不首先在堆栈上删除其上方的活动,则无法从堆栈中删除活动。因此,如果不先完成自己,孩子可能不可能完成父母的活动。

通过使用启动模式和Intent标志,您可以使用多种方法重新排序甚至清除活动回栈 。

于 2013-05-12T20:40:31.100 回答
0

我建议您阅读有关任务和返回堆栈的信息

首先,如果我没记错的话,android 中的活动被放在一个名为 Activity Stack 的堆栈上。当你开始一个活动时,你可以添加一个会影响堆栈的意图标志,比如

addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)

我想我以前做过你想做的事情(我不确定我用的是什么标志,那是很久以前的事了:p)。但是只需阅读有关活动任务的信息,即可了解哪种意图标志适合您尝试执行的操作。

于 2012-09-16T11:37:44.970 回答
-1

活动 A -> 活动 B ,删除活动 A ,

如果这是您正在寻找的

  Intent intent = new Intent(this, B.class);
    startActivity(intent);
    finish();
于 2012-09-16T12:16:01.357 回答