Android 单击按钮以更改片段-Kotlin中的视图
我有以下资料:Android 单击按钮以更改片段-Kotlin中的视图,android,kotlin,Android,Kotlin,我有以下资料: class SettingsFragment : Fragment() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) } override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bund
class SettingsFragment : Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_settings, container, false)
val auth = FirebaseAuth.getInstance()
signOutButton.setOnClickListener{
Log.i("TAG", "logout tapped")
auth.signOut()
startActivity(Intent(activity,LoginActivity::class.java))
}
}
}
视图会加载,但当我点击按钮将用户注销时,我看不到日志的打印输出,用户也不会注销,视图也不会切换到loginActivity()
我的按钮:
<Button
android:id="@+id/signOutButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sign out" />
由于您已经返回了视图,因此将永远不会调用其余的行。这是遥不可及的<代码>返回位于函数末尾。此外,您还需要在创建视图后设置单击侦听器(
onViewCreated
),否则您将得到一个NullPointerException
覆盖创建视图(
充气器:布局充气器,容器:视图组?,
savedInstanceState:捆绑?
):查看?{
//为该碎片膨胀布局
返回充气机。充气(R.layout.fragment\u设置,容器,错误)
}
覆盖已创建的视图(视图:视图,保存状态:捆绑?){
super.onViewCreated(视图,savedInstanceState)
val auth=FirebaseAuth.getInstance()
SignerButton.setOnClickListener{
Log.i(“标记”、“注销”)
auth.signOut()
startActivity(意图(活动,LoginActivity::class.java))
}
}
重写onViewCreated()函数,并在那里写下您的签出代码,同时初始化SignButton