Can I use such function to display snackbarError message ? I get this errors :
at com.firestore.intro.signUpActivity.onCreate$lambda-0(signUpActivity.kt:29)
at com.firestore.intro.signUpActivity.$r8$lambda$JcZyp7qOhhfZOMNqGi0G1w812tc(Unknown Source:0)
at com.firestore.intro.signUpActivity$$ExternalSyntheticLambda0.onClick(Unknown Source:13)
at android.view.View.performClick(View.java:7448)
at android.view.View.performClickInternal(View.java:7425)
at android.view.View.access$3600(View.java:810)
at android.view.View$PerformClick.run(View.java:28305)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
class signUpActivity() : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_sign_up)
window.setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN
)
var FNEdt = findViewById<EditText>(R.id.FNId)
var LNEdt = findViewById<EditText>(R.id.LNId)
var mailEdt = findViewById<EditText>(R.id.emailId)
var passEdt1 = findViewById<EditText>(R.id.passwordId1)
var passEdt2 = findViewById<EditText>(R.id.passwordId2)
findViewById<Button>(R.id.signInId).setOnClickListener {
validateregister(FNEdt, LNEdt, mailEdt, passEdt1, passEdt2)
}
}
private fun validateregister(FNEdt:EditText, LNEdt:EditText,mailEdt:EditText, passEdt1:EditText, passEdt2:EditText):Boolean {
var FNText= FNEdt.text.toString()
var LNText = LNEdt.text.toString().trim()
var mailText = mailEdt.text.toString().trim()
var passText1 = passEdt1.text.toString().trim()
var passText2 =passEdt2.text.toString().trim()
return when {
FNText.isEmpty() -> {
showErrorSnack( resources.getString(R.string.enterFN), true )
false
}
LNText.isEmpty() -> {
showErrorSnack( resources.getString(R.string.enterLN), true )
false
}
mailText.isEmpty() -> {
showErrorSnack( resources.getString(R.string.enterMail), true )
false
}
passText1.isEmpty() -> {
showErrorSnack( resources.getString(R.string.enterPassword1), true )
false
}
passText2.isEmpty() -> {
showErrorSnack( resources.getString(R.string.enterPassword2), true )
false
} else -> {
showErrorSnack( "Данные верны", false)
true
}
}
}
}
open class BaseActivity : AppCompatActivity() {
fun showErrorSnack(message:String, errorMessage:Boolean) {
val snackbar = Snackbar.make(
findViewById(android.R.id.content), message, Snackbar.LENGTH_LONG )
val snackbarView = snackbar.view
if(errorMessage) {
snackbarView.setBackgroundColor(
ContextCompat.getColor(this@BaseActivity, R.color.snackerror) )
} else {
ContextCompat.getColor(this@BaseActivity, R.color.snacksuccess)
}
snackbar.show()
}
}