Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.myapplication
- import android.content.Context
- import android.content.Intent
- import android.os.Bundle
- import android.text.Editable
- import android.text.TextUtils
- import android.text.TextWatcher
- import android.util.Patterns
- import android.view.KeyEvent
- import android.view.inputmethod.InputMethodManager
- import android.widget.Button
- import android.widget.EditText
- import android.widget.LinearLayout
- import androidx.appcompat.app.AlertDialog
- import androidx.appcompat.app.AppCompatActivity
- class MainActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_main)
- val isKeyPressed = KeyEvent.KEYCODE_BACK
- //hide keyboard when touch outside
- val focus = findViewById<LinearLayout>(R.id.linearLayout2)
- focus.setOnClickListener { v ->
- val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as? InputMethodManager
- imm?.hideSoftInputFromWindow(v.windowToken, 0)
- }
- fun isValidEmail(email: String): Boolean {
- return !TextUtils.isEmpty(email) && Patterns.EMAIL_ADDRESS.matcher(email).matches()
- }
- val button = findViewById<Button>(R.id.btnSend)
- val em = findViewById<EditText>(R.id.email)
- val sub = findViewById<EditText>(R.id.subj)
- val msg = findViewById<EditText>(R.id.message)
- //check form fields are empty
- button.setEnabled(false)
- val editTexts = listOf(em, sub, msg)
- for (editText in editTexts) {
- editText.addTextChangedListener(object : TextWatcher {
- override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
- var et1 = em.text.toString().trim()
- var et2 = sub.text.toString().trim()
- var et3 = msg.text.toString().trim()
- button.isEnabled = et1.isNotEmpty()
- && isValidEmail(em.text.toString())
- && et2.isNotEmpty()
- && et3.isNotEmpty()
- if (!isValidEmail(em.text.toString()) && et1.isNotEmpty())
- em.error = "Email not valid!"
- }
- override fun beforeTextChanged(
- s: CharSequence, start: Int, count: Int, after: Int) {
- }
- override fun afterTextChanged(
- s: Editable) {
- }
- })
- }
- //add event
- button.setOnClickListener {
- val text = findViewById<EditText>(R.id.email)
- val email = text.text.toString()
- val builder = AlertDialog.Builder(this)
- //set title for alert dialog
- builder.setTitle("Send Email")
- //set message for alert dialog
- builder.setMessage("Do you really want to send this email to $email")
- builder.setIcon(android.R.drawable.ic_dialog_alert)
- //performing no action
- builder.setNegativeButton("No") { dialog, _ -> dialog.dismiss() }
- //performing yes action
- builder.setPositiveButton("Yes") { dialog, _ ->
- val intent = Intent(this, MainActivity2::class.java)
- startActivity(intent)
- }
- // Create the AlertDialog
- val alertDialog: AlertDialog = builder.create()
- // Set other dialog properties
- alertDialog.setCancelable(false)
- alertDialog.show()
- }
- }
- //exit the app!
- override fun onBackPressed() {
- finishAffinity()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement