【问题标题】:Persist dialog or layout across different activities在不同的活动中保持对话或布局
【发布时间】:2022-11-23 00:01:47
【问题描述】:

我有 2 个活动;一个认证活动(这是启动器)&a主要活动.

AuthenticationActivity 布局仅在用户需要登录时显示,否则如果用户已登录,他们将被重定向到 MainActivity。

    if (userId != null && !userId.isEmpty()) { //User is signed in       
        startActivity(new Intent(this, MainActivity.class));
    } else { //User isn't signed in
        setContentView(R.layout.activity_authentication);
    }

我的主要问题是 MainActivity 需要一些时间来启动,所以我需要在 AuthenticationActivity 中显示一个不可取消的对话框,并且还启动 MainActivity,一旦 MainActivity 完成呈现其视图,那么在 AuthenticationActivity 中创建的对话框是解雇。

我怎样才能做到这一点?

需要注意的重要事项:如果可能的话,我不想向用户请求“覆盖权限”,因此欢迎使用显示对话框以外的其他解决方案

【问题讨论】:

  • 为什么您的主要活动需要时间来加载?

标签: android dialog splash-screen android-splashscreen


【解决方案1】:

试试这个,它应该可以解决您的问题:

if (userId != null && !userId.isEmpty()) { //User is signed in  
    yourDialog.show();     
    startActivity(new Intent(this, MainActivity.class));
    this.runOnUiThread(() -> {
        yourDialog.dismiss();
    }
} else { //User isn't signed in
    setContentView(R.layout.activity_authentication);
}

并且不要忘记将 setCancelable(false) 设置为您的对话框

【讨论】:

    猜你喜欢
    • 2013-09-04
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多