我是Android的新手,我有一个奇怪的情况,我不明白:我有一个简单的应用程序,有3个活动:
当用户点击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。
我确定忘记了什么,但是什么?