Диалог Оповещение в Котлине - PullRequest
0 голосов
/ 03 июля 2018

Мне нужно нажать на кнопку «b_avanca_c», если пользователь не заполняет поле «editTextNomeVelhinho», представляет диалоговое предупреждение, и после того, как пользователь заполнил «editText», необходимо переслать макет «C_aviso», а также если « editText 'заполняется с самого начала. В этом случае приложения всегда переходят в «если», и даже после того, как они заполнены, диалоговое окно всегда появляется.

   fun b_avancar_c(view: View) {
    val nomeIdoso :String
    nomeIdoso=editTextNomeVelhinho.text.toString()

    if(editTextNomeVelhinho.text.isEmpty()) {
        buttonComecar.setOnClickListener {
            val builder = AlertDialog.Builder(this@B_menu)
            builder.setTitle("Atenção")
            builder.setMessage("Deve colocar o seu nome para continuar")
            builder.setPositiveButton("Continuar") { dialog, which ->
                //Toast.makeText(applicationContext, "continuar", Toast.LENGTH_SHORT).show()
            }
            val dialog: AlertDialog = builder.create()
            dialog.show()


        }
    }
    else {
        val it = Intent(this, C_aviso::class.java)
        startActivity(it)
    }
}

Кодовая раскладка

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout                 xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.example.asus.aprendecomigovelhinho.B_menu">


        <Button
            android:id="@+id/buttonComecar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="8dp"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:background="@android:color/holo_green_dark"
            android:text="Começar"
            android:onClick="b_avancar_c"
            android:textColor="@android:color/background_light"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.983"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.349" />


        <EditText
            android:id="@+id/editTextNomeVelhinho"
            android:layout_width="320dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="8dp"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:ems="10"
            android:inputType="text"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.921"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.026" />



            </android.support.constraint.ConstraintLayout>

1 Ответ

0 голосов
/ 03 июля 2018

Текст из текста редактирования получается при нажатии на кнопку, поэтому он не будет пустым каждый раз.

fun b_avancar_c(view: View) {
    val nomeIdoso :String
    nomeIdoso=editTextNomeVelhinho.text.toString()

    if(editTextNomeVelhinho.text.isEmpty()) {
        buttonComecar.setOnClickListener {
             val builder = AlertDialog.Builder(this@B_menu)
             builder.setTitle("Atenção")
             builder.setMessage("Deve colocar o seu nome para continuar")
             builder.setPositiveButton("Continuar") { dialog, which -> 
           //Toast.makeText(applicationContext,"continuar",Toast.LENGTH_SHORT).show()
           }
             val dialog: AlertDialog = builder.create()
             dialog.show()
           }
     }
     else {
           val it = Intent(this, C_aviso::class.java)
           startActivity(it)
     }
}
...