我想从另一项 Activity 中完成一项 Activity ,例如:
在 Activity [A] 中,单击按钮时,我正在调用 Activity [B] 而不完成 Activity [A]。
现在在 Activity [B] 中,有两个按钮,New 和 Modify。当用户点击修改然后从堆栈中弹出一个 Activity [A] 并勾选所有选项..
但是当用户从 Activity [B] 中单击 New 按钮时,我将不得不从堆栈中完成 Activity [A] 并将该 Activity [A] 重新加载到堆栈中。
我正在尝试,但我无法从堆栈中完成 Activity [A]... 我该怎么做?
我将代码用作:
来自 Activity [A]:
Intent GotoB = new Intent(A.this,B.class);
startActivityForResult(GotoB,1);
同一 Activity 中的另一种方法
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);
}
}
}
在 Activity [B] 中,点击按钮:
setResult(1);
finish();
最佳答案
在 list 文件中创建您的 Activity A:
launchMode = "singleInstance"
当用户点击new时,执行
FirstActivity.fa.finish();
并调用新的Intent。当用户点击修改时,调用新的Intent或者干脆完成Activity B。
第一路
在你的第一个 Activity 中,像这样声明一个 Activity 对象
,
public static Activity fa;
onCreate()
{
fa = this;
}
现在在另一个 Activity
中使用该对象来完成这样的第一个 Activity ,
onCreate()
{
FirstActivity.fa.finish();
}
第二种方式
在调用您希望在继续时立即完成的 Activity FirstActivity
时,
您可以在调用 FirstActivity
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
但是使用这个标志,即使你不希望它完成, Activity 也会完成。有时 onBack
如果你想显示 FirstActivity
你将不得不使用 Intent 来调用它。
关于android - 从另一个 Activity 完成一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10379134/