【发布时间】:2020-05-01 12:46:09
【问题描述】:
class ProfileActivity : AppCompatActivity() { << on xml file has sign out Button
var mAuth: FirebaseAuth? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_profile)
mAuth = FirebaseAuth.getInstance()
btn_signout.setOnClickListener() {
mAuth!!.signOut()
var intent = Intent(this, MainActivity::class.java)
startActivity(intent)
finish()
}
}
}
class ChatActivity : AppCompatActivity() { << activity's using NavbatListener for fragment.
private val mOnNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedListener {item->
when(item.itemId){
R.id.nav_chat -> {
println("home pressed")
replaceFragment(ChatFragment())
return@OnNavigationItemSelectedListener true
}
R.id.nav_contact -> {
println("contact pressed")
replaceFragment(ContactFragment())
return@OnNavigationItemSelectedListener true
}
R.id.nav_position -> {
println("position pressed")
replaceFragment(PositionFragment())
return@OnNavigationItemSelectedListener true
}
R.id.nav_profile -> {
println("profile pressed")
replaceFragment(ProfileFragment())
return@OnNavigationItemSelectedListener true
}
}
false
}
private fun replaceFragment(fragment: Fragment){
val fragmentTransaction = supportFragmentManager.beginTransaction()
fragmentTransaction.replace(R.id.fragmentContainer, fragment)
fragmentTransaction.commit()
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_chat)
bottomNavigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener)
replaceFragment(ChatFragment())
}
}
我在 Fragment 上有一个按钮“btn_signout”,我想按意图退出 MainActivity。
如果我在“选项菜单”上使用它可以工作,但我想用一个简单的按钮。
我是新人。感谢帮助
【问题讨论】:
-
Activity中的按钮,而不是Fragment中的按钮!
标签: android android-fragments kotlin firebase-authentication