首页 > 解决方案 > 从另一个开始活动而不加载第一个的布局

问题描述

我的启动器活动可能会在特定条件下启动另一个,它看起来像这样:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    prefManager = new PreferenceManager();
    if (prefManager.startMain(this)) {
        startActivity(new Intent(this, MainActivity.class));
        finish();
        return;
    }

    setContentView(R.layout.activity_wizard);
...
...

PreferenceManager只是方便访问的帮手SharedPreferneces

如果条件为真,则显示第一个活动布局的闪烁,然后才开始第二个活动。

我想在开始第二个活动布局时跳过第一个活动布局的闪烁(我实际上预料到了这一点,因为我不打电话setContentView但显然不是)。

我考虑过创建第三个透明布局活动来启动正确的活动,但我希望有更好的方法。

标签: androidandroid-activitylayout

解决方案


切换 startActivity() 和 finish() 以便首先调用 finish(),无法测试但可以

if (prefManager.startMain(this)) {
        finish()
        startActivity(new Intent(this, MainActivity.class));
    }

也不应该调用 return


推荐阅读