我正在Kotlin, Android Studio和Firebase中构建一个应用程序。我的用户有一个带有. setonclicklistener的按钮(如下所示),用于从Firebase注销。但是当我打开按钮所在的活动/片段时,应用程序关闭。
logoutButton.setOnClickListener {
val intent =
Intent(activity, AccountFragment::class.java)
Firebase.firebaseAuth.signOut()
startActivity(intent)
}
它在Logcat上没有给我任何错误…至少我是这么认为的。当我切换到有按钮的片段时,应用程序关闭并说应用程序已停止。
: Logcat上有错误。它说:
. lang。NullPointerException:尝试在空对象引用上调用虚拟方法'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)'
这是我更改片段时logcat的图像:
Logcat new image
如果按钮在片段内,那么你必须将setOnClickListener代码放在onViewCreated而不是onCreateView中:
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
logoutButton.setOnClickListener {
val intent =
Intent(activity, AccountFragment::class.java)
Firebase.firebaseAuth.signOut()
startActivity(intent)
}
}