Login, EditText, Evento en botón | Kotlin & Android


En TextView ponemos la variable declarada en app>res>values>strings.xml como

<string name="prompt_user">Usuario</string>

El ID será el parámetro que usemos para referenciar ese elemento del layout desde el onCreate de nuestra vista:

class LoginActivity : AppCompatActivity() {

    protected var username: EditText? = null;
    private var password: EditText? = null;

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_login)

        username = findViewById(R.id.username) as EditText
        password = findViewById(R.id.password) as EditText

    }
}

Desde sabe Dios cuando, se pueden referenciar a los elementos de la vista sin el uso de findViewById:

import kotlinx.android.synthetic.main.<layout>.*
Haciendo ese import podemos llamar al elemento "directamente":






<Button    android:id="@+id/login_button"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:background="#9aceff"    android:text="@string/action_sign_in" />



override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_login)

    login_button.setOnClickListener { attemptLogin() }
}

private fun attemptLogin(){
    Log.d("Login","Has pulsado el botón de login")
}

Comentarios