Firebase сообщает, что в Android Kotlin App Dev адрес электронной почты плохо отформатирован - PullRequest
0 голосов
/ 23 февраля 2020

Вот мой Kotlin код активности:

package com.florize.nostagram

import android.content.Intent
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import com.google.firebase.auth.FirebaseAuth
import com.google.firebase.auth.FirebaseUser
import kotlinx.android.synthetic.main.activity_login.*

class LoginActivity : AppCompatActivity() {
    var auth: FirebaseAuth? = null
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_login)
        auth = FirebaseAuth.getInstance()
        email_login_button.setOnClickListener {
            signinAndSignup()
        }
    }

    fun signinAndSignup() {
        auth?.createUserWithEmailAndPassword(
            email_edittext.toString().trim(),
            password_edittext.toString()
        )
            ?.addOnCompleteListener { task ->
                if (task.isSuccessful) {
                    //Creating a user account
                    moveMainPage(task.result?.user)
                } else if (task.exception?.message.isNullOrEmpty()) {
                    //Show the error message
                    Toast.makeText(this, task.exception?.message, Toast.LENGTH_LONG).show()
                } else {
                    //Login if you have account
                    signinEmail()
                }
            }
    }
}

и мой код макета:

<com.google.android.material.textfield.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp">

            <EditText
                android:id="@+id/email_edittext"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:inputType="textEmailAddress"
                android:hint="@string/email" />

        </com.google.android.material.textfield.TextInputLayout>

Я установил inputType для поля электронной почты. но Firebase Toast говорит: «Адрес электронной почты плохо отформатирован». и я добавил, что trim () за "email_edittext.toString ()" не работает. все та же ошибка. Как я могу это исправить?

(я сократил код активности Kotlin, потому что он слишком длинный)

1 Ответ

0 голосов
/ 23 февраля 2020

измените это:

auth?.createUserWithEmailAndPassword(
            email_edittext.toString().trim(),
            password_edittext.toString()
        )

на это:

auth?.createUserWithEmailAndPassword(
            email_edittext.text.toString().trim(),
            password_edittext.text.toString()
        )

Вам необходимо использовать свойство text для доступа к значению textfield

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...