我有一个 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/