android - 从另一个 Activity 完成一个 Activity

标签 android android-intent android-activity

我想从另一项 Activity 中完成一项 Activity ,例如:

在 Activity [A] 中,单击按钮时,我正在调用 Activity [B] 而不完成 Activity [A]。

现在在 Activity [B] 中,有两个按钮,NewModify。当用户点击修改然后从堆栈中弹出一个 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();

最佳答案

  1. 在 list 文件中创建您的 Activity A:launchMode = "singleInstance"

  2. 当用户点击new时,执行FirstActivity.fa.finish();并调用新的Intent。

  3. 当用户点击修改时,调用新的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/

相关文章:

android SQLite - 管理具有多个用户的单个数据库

android - 从Android应用程序上传YouTube视频

Android M startActivity 电池优化

android - 方向改变时防止 Activity 重新启动

android - 使用http请求在 fragment 中加载数据

android - 我如何使操作栏固定在 android studio 选项卡式 Activity 中

java - Java 文件中的错误 (Android)

java - 尝试有意共享 mp3,但不包含文件扩展名

android - 如何使用 PackageManager.GET_INTENT_FILTERS 获取 Intent 过滤器

java - 如何判断app是否被 "Share-Via"调用?