我想完成另一项活动的一项活动,例如:
在活动[A]中,单击按钮时,我调用活动[B]而不完成活动[A].
现在在Activity [B]中,有两个按钮,New和Modify.当用户点击修改然后从堆栈中弹出活动[A]并勾选所有选项.
但是当用户单击Activity [B]中的New按钮时,我将不得不从堆栈中完成Activity [A]并再次将Activity [A]重新加载到堆栈中.
我正在尝试,但我无法从堆栈中完成活动[A] ......我怎么能这样做?
我使用的代码如下:
来自活动[A]:
Intent GotoB = new Intent(A.this,B.class);
startActivityForResult(GotoB,1);
Run Code Online (Sandbox Code Playgroud)
同一活动中的另一种方法
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 1)
{
if (resultCode == 1) {
Intent i = getIntent();
overridePendingTransition(0, 0);
i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
overridePendingTransition(0, 0);
startActivity(i);
}
}
}
Run Code Online (Sandbox Code Playgroud)
在活动[B]中,点击按钮:
setResult(1);
finish();
Run Code Online (Sandbox Code Playgroud) 如果活动A与任务T1相关且活动B与任务T2相关,我如何从活动B完成活动A?
我需要这个,因为我的应用程序可以从它的快捷方式或通过通知启动.
我想完成这个结构:
活动A正在显示.如果按下某个按钮,则打开活动B(不关闭A的当前实例).如果我按下BI的后退按钮,只想完成B,这样我就可以看到我的旧A实例.但如果在活动BI中按下另一个按钮,我想关闭A并打开C.
如何在活动B打开时关闭活动A并启动活动C?
说明: 当B处于活动状态时,A 不得被销毁,以便我可以返回它.但是如果我想打开C那么A 必须被销毁,所以如果我按下CI的按钮就不会再看到它了.
我已经实现了使用startActivity()和finish()方法打开所有活动的代码.我现在所需要的只是回答或建议我如何改造我的结构以实现我的目标.
编辑
当我想打开B时,我想我有一个想法使用startActivtyForResult(),所以当我准备打开C时,我只是让A做关闭自己.