向上按钮指向家庭活动而不是父活动

时间:2018-02-15 20:50:19

标签: android android-activity android-toolbar

我是Android的新手,我有一个奇怪的情况,我不明白:我有一个简单的应用程序,有3个活动:

  • 我检查用户是否已登录的RootActivity。如果是,我会正常显示界面。如果没有,我就开始OnboardingActivity。
  • OnboardingActivity,包含应用程序的小型视频演示,第一次交互,然后注册按钮和登录按钮。当用户单击登录按钮时,它将启动LoginActivity
  • LoginActivity包含一个简单的登录表单和一个登录按钮,以及一个带有后退按钮的工具栏。

当用户点击LoginActivity中的后退按钮时,我想将他发送回OnboardingActivity,以便他可以选择观看演示或互动和注册。

所以我按照这样的方式配置了3个活动:

<activity android:name=".RootActivity">
     <intent-filter>
          <action android:name="android.intent.action.MAIN" />

          <category android:name="android.intent.category.LAUNCHER" />
     </intent-filter>
</activity>
<activity android:name=".OnboardingActivity" />
<activity
     android:name=".LoginActivity"
     android:label="Login"
     android:parentActivityName=".OnboardingActivity">
     <meta-data
          android:name="android.support.PARENT_ACTIVITY"
                android:value="com.derbigum.approofreferences.OnboardingActivity" />
</activity>

在RootActivity的onCreate中,我有以下内容:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_references)

    authentication = FirebaseAuth.getInstance()
    currentUser = authentication.currentUser
    if(currentUser == null) {
        startActivity(Intent(this@ReferencesActivity, OnboardingActivity::class.java))
    } 
}

在OnboardingActivity中我有以下内容:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_onboarding)

    val loginButton = findViewById<Button>(R.id.login)
    loginButton.setOnClickListener {
        startActivity(Intent(this, LoginActivity::class.java))
        finish()
    }
}

最后在LoginActivity中我有这个:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_login)

    // my_child_toolbar is defined in the layout file
    setSupportActionBar(findViewById(R.id.mytoolbar))

    // Get a support ActionBar corresponding to this toolbar and enable the Up button
    supportActionBar?.setDisplayHomeAsUpEnabled(true)
}

所有内容都正确显示,流程按预期工作,但当我单击LoginActivity工具栏中的后退按钮时,它将返回RootActivity而不是OnboardingActivity。

我确定忘记了什么,但是什么?

0 个答案:

没有答案