【问题标题】:Android load a specific fragment when app resumesAndroid 在应用程序恢复时加载特定片段
【发布时间】:2016-02-09 08:02:09
【问题描述】:

我有一个带有 Activity 和几个片段的应用。 其中一个片段是登录片段,其中用户键入他的密码以继续。

我怎样才能实现用户:

1) 成功登录后将无法返回并访问该片段。

2) 当应用程序恢复并回到前台时,该片段将加载并再次询问用户他的密码。

【问题讨论】:

  • 所以你想强制用户登录,即使他使用主页按钮退出你的应用程序?
  • 我不确定,但也许是的。现在,第一个要求更为重要。
  • 您是否尝试在调用登录后关闭活动?并在用户退出应用后通过按主页键或返回键简单地重置登录标志。
  • 如何关闭活动?如果我这样做,该应用程序是否会保留在后台打开的应用程序列表中?当用户再次尝试重新加载时,活动是否会自动重新加载?

标签: android android-fragments


【解决方案1】:

使用静态变量执行条件操作

例如

静态 int x=0;

在您想要管理的活动 onResume 或 onCreate 中

      if(x==0)
      {
          x=1;
          your fragment 1
      }
     else if(x==1)
     {     x=0;
          your fragment 2
     }

你就完成了。

【讨论】:

    【解决方案2】:

    取决于如果您的应用程序仅使用一个 MainActivityFragments 或有多个 ActivitiesFragments 解决方案会有所不同,但假设您有一个 Activity 和许多其他 @ 987654326@ 最简单的方法是成功登录后,只是不要将您的LoginFragment 添加到您的应用程序的Fragment 历史记录(backStack)中。 在您的 MainActivity's onPause()onDestroy() 中,您应该注销当前用户并让他在打开您的 MainActivity 后再次登录。

    这应该对你有用。

    【讨论】:

    • 不确定我是否理解这部分的操作:“在您的 MainActivity 的 onPause() 或 onDestroy() 中,您应该记录您当前的用户,并在他打开您的 MainActivity 后让他再次登录。”跨度>
    • 这取决于你的代码,你如何注销你的用户?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-16
    • 2010-10-17
    • 1970-01-01
    相关资源
    最近更新 更多