android - 与 else 一起使用时,dataSnapshot.value 为 null,否则为
问题描述
当我使用Update_User_Information()
afterelse if
然后dataSnapshot.value.toString()
显示空值并因此Update_User_Information()
被执行。
FirebaseDatabase.getInstance().getReference("Users").child(firebaseAuth.uid!!).addListenerForSingleValueEvent(object : ValueEventListener {
override fun onDataChange(dataSnapshot: DataSnapshot) {
if (dataSnapshot.value.toString().contains(signup_username)) {
progressDialog.dismiss()
binding.signupUsername.error = "This username is already registered"
return
}
else if (dataSnapshot.value.toString().contains(signup_phone)) {
progressDialog.dismiss()
binding.signupUsername.error = "This Phone Number is already registered"
return
}
Toast.makeText(this@Signup, dataSnapshot.value.toString(), Toast.LENGTH_LONG).show() // shows null
Update_User_Information()
}
override fun onCancelled(error: DatabaseError) {
Toast.makeText(this@Signup, "There is a problem in database. Please report this issue to support.", Toast.LENGTH_LONG).show()
}
})
但是如果我使用相同的代码进行一点改动,那么它可以工作,但它也会执行
FirebaseDatabase.getInstance().getReference("Users").child(firebaseAuth.uid!!).addListenerForSingleValueEvent(object : ValueEventListener {
override fun onDataChange(dataSnapshot: DataSnapshot) {
if (dataSnapshot.value.toString().contains(signup_username)) {
progressDialog.dismiss()
binding.signupUsername.error = "This username is already registered"
}
else if (dataSnapshot.value.toString().contains(signup_phone)) {
progressDialog.dismiss()
binding.signupUsername.error = "This username is already registered"
}
}
override fun onCancelled(error: DatabaseError) {
Toast.makeText(this@Signup, "There is a problem in database. Please report this issue to support.", Toast.LENGTH_LONG).show()
}
})
Update_User_Information()
我想做的是,检查用户名和电话号码是否已在我的数据库中注册,如果在我的数据库中找到,那么我不想执行Update_User_Information()
. 有什么解决办法吗?
解决方案
推荐阅读
- spring - Spring-Boot,获取方法级bean项目使用的所有注解值
- python - 使用来自 Python 的请求动态命名下载的文件时出现错误 22
- php - 将 CUSTOM POST TYPE 添加到 Wordpress 网站不包括主题在其他 POST TYPES 中的所有选项
- python - 为什么这个 Python 脚本失败了?(xml.etree)
- sql - 不同的多列,然后更新
- floating-point - 如何在vala中舍入双/浮动?
- python - 在块中搜索配置行
- ios - 我可以在不保存的情况下创建 Core Data 对象吗?
- excel - 如何在excel中运行电源查询以使用命名范围提取单个单元格
- python - 基因AI包python——定义自定义适应度函数