Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';无法在firestore kotlin android中存储输入数据_Android_Kotlin_Google Cloud Firestore - Fatal编程技术网

Can';无法在firestore kotlin android中存储输入数据

Can';无法在firestore kotlin android中存储输入数据,android,kotlin,google-cloud-firestore,Android,Kotlin,Google Cloud Firestore,这是密码 val db = Firebase.firestore val user = hashMapOf( "name" = "{binding.edit_name.text.toString()}", "email" = "{binding.edit_email.text.toString()} ) binding.submitBtn.setOnClickListener{ db.collecti

这是密码

val db = Firebase.firestore

val user = hashMapOf(
    "name" = "{binding.edit_name.text.toString()}",
    "email" = "{binding.edit_email.text.toString()}
)
binding.submitBtn.setOnClickListener{
    db.collection("users").add(user)
        .addOnSuccessListener {
            Toast.makeText(context,"Data inserted",Toast.LENGTH_LONG).show()
        }
        .addOnFailureListener {
            Toast.makeText(context,"Error",Toast.LENGTH_LONG).show()
        }
}
在上面的代码编辑名称中,编辑文本由键盘输入。我无法在firestore中存储该用户。我认为转换bindig.edit_name.text.toString()有问题,因为它无法转换字符串。 若我使用散列映射而不从键盘输入,那个么我就能够在firestore中插入数据

val user = hashMapOf(
    "name" to "ABC",
    "email" to "abc@gmail.com"
)
此哈希映射可以添加到firestore中

val user = hashMapOf(
    "name" to "ABC",
    "email" to "abc@gmail.com"
)
我认为绑定中存在问题,我也无法toast bindg.edit_name.toString()如下所示

请帮忙。我认为所有的问题都是我无法将绑定数据值转换为字符串(默认情况下,它是可编辑的)。

从插入数据的角度来看,您的代码似乎很好

这个问题似乎确实依赖于“binding.variable\u input.text.toString()

在调查Android数据绑定库时,我遇到了一篇博文,它建议不要使用
toString()
,而是使用:

  • String.valueOf()
    ,或者如果要使用toString(),请尝试

  • Integer.valueOf().toString()

从插入数据的角度来看,您的代码似乎很好

这个问题似乎确实依赖于“binding.variable\u input.text.toString()

在调查Android数据绑定库时,我遇到了一篇博文,它建议不要使用
toString()
,而是使用:

  • String.valueOf()
    ,或者如果要使用toString(),请尝试

  • Integer.valueOf().toString()

  • 表达式不能用于HashMap中的赋值,因此可能需要将
    hashMapOf(“name”更改为“{binding.name.text.toString()}”,将“email”更改为“{binding.email.text.toString()}”)

  • 最好分配
    val name=binding.name.text.toString()
    ,然后分配
    hashMapOf(“name”到name)

  • 更好的方法是创建自定义对象并设置值

    数据类UserInfo(val名称:String?=”,val电子邮件:String?=”){constructor():this(“,”)}

  • 表达式不能用于HashMap中的赋值,因此可能需要将
    hashMapOf(“name”更改为“{binding.name.text.toString()}”,将“email”更改为“{binding.email.text.toString()}”)

  • 最好分配
    val name=binding.name.text.toString()
    ,然后分配
    hashMapOf(“name”到name)

  • 更好的方法是创建自定义对象并设置值

    数据类UserInfo(val名称:String?=”,val电子邮件:String?=”){constructor():this(“,”)}


  • 您建议的xml链接和答案不是片段。我想转换kotlin片段文件中的绑定数据,然后我想添加到数据库中。由于绑定数据的类型是可编辑的,如果不转换为字符串,则无法在db中插入。请进一步说明如何在绑定中存储文本输入?我已从键盘获取输入,然后使用binding
    val name=binding.name.text.toString()将其存储在变量中
    但由于这个原因,我无法在db中存储。。。如果您在上面看到我的问题和代码,我的问题将被清除如果我在片段中使用绑定,那么如果我们从键盘获取输入,那么该输入将通过binding.text.toString()在Kotlin文件中可见,但它无法添加到数据库中您建议的xml链接和答案,而不是片段。我想转换kotlin片段文件中的绑定数据,然后我想添加到数据库中。由于绑定数据的类型是可编辑的,如果不转换为字符串,则无法在db中插入。请进一步说明如何在绑定中存储文本输入?我已从键盘获取输入,然后使用binding
    val name=binding.name.text.toString()将其存储在变量中
    但由于这个原因,我无法在db中存储。。。如果您在上面看到我的问题和代码,我的问题将被清除如果我在片段中使用绑定,那么如果我们从键盘获取输入,那么该输入将通过binding.text.toString()在Kotlin文件中可见,但它无法添加到db中