android - 开始 Activity 而不显示它

标签 android android-activity

我有一个 Activity A,它启动 Activity B, Activity B 启动 Activity C。有没有办法不显示 Activity B。 我想要这种行为,因为如果 Activity B 没有内容(例如 ListView),则显示我在其上选择一些数据的 Activity C,然后按返回按钮返回 Activity B。 关键是我想在 Activity 堆栈上有 Activity B,但在某些情况下不显示它。

最佳答案

我找到了解决方案:

  • Activity A 使用额外参数启动 Activity B (intent.putExtra("something", true))
  • Activity B:
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getIntent().hasExtra("something") && getIntent().getBooleanExtra("something", false) {
            //show activity B
        setContentView(R.layout.activity_B);
    } else {
            //don't show activity B, start activity C
        startActivityForResult(activity_C, ACTIVITY_NOT_INITIALIZED); //start activity C
    }
}

//从Activity C返回时,检查Activity B是否已经初始化

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == ACTIVITY_NOT_INITIALIZED) {
        //show activity B
        setContentView(R.layout.activity_B);
  }
}

关于android - 开始 Activity 而不显示它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8571887/

相关文章:

android - Cordova 创建脚本/Ant 执行 aapt 失败

android - 使用 Camera2 API 从服务录制视频

使用 Robolectric ClassCastException : android. app.Application 进行的 Android 测试无法转换为 MyApplication

java - 如何获取日历中选定的日期?

android - 如何从 fragment 中控制 Activity FragmentTransaction?

android - Activity.finishAffinity() 与 Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK

Android:从 PreferenceFragment 关闭 Activity

java - 在 GUI 构建器中找到的对齐准则/对齐算法

java - onResume 从堆栈中弹出 Activity

java - 从类内部调用 Activity