Spinner en Android Studio

ūüďĪ Spinner en Android Studio [19]

En este video a aprender a usar los spinner en Android Studio con el siguiente ejercicio.

  • Agregaremos un Spinner y un ViewText al dise√Īador y los vinculamos a nuestro c√≥digo.
  • Agregaremos una lista de lenguajes de programaci√≥n.
  • Y cuando se seleccione alguno mostraremos el lenguaje seleccionado.
  • En caso de que no se haya seleccionado ninguno se mostrar√° un mensaje que pedir√° que se seleccione alg√ļn lenguaje.

Sintaxis de Spinner
val adapter: ArrayAdapter
spinner?.adapter = adapter
spinner?.onItemSelectedListener=object:AdapterView.OnItemSelectedListener{
override fun onItemSelected(parent:AdapterView,view:View,pos:Int,id:Long){
//En caso de que se seleccione alg√ļn √≠tem
}
override fun onNothingSelected(parent: AdapterView?) {
//En caso de que se no seleccione ning√ļn √≠tem
}

Spinner en Android Studio

Codigo: https://github.com/programadornovato/Mi-Primer-Proyecto-Android-Studio/commit/cfde590eb0979088e917cc9dbb0dbc2b29a0a71d

package com.programadornovato.miprimerproyecto

import android.content.DialogInterface
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.*
import androidx.appcompat.app.AlertDialog
import java.math.BigDecimal
import kotlin.math.PI
import kotlin.math.round

class MainActivity : AppCompatActivity() {
    private var spLenguajes:Spinner?=null
    private var tvSeleccion:TextView?=null
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        spLenguajes=findViewById(R.id.spLenguajes)
        tvSeleccion=findViewById(R.id.tvSeleccion)

        val listaLenguajes= arrayOf("Seleccione un lenguaje","Kotlin","Java","C++","PHP")

        var adaptador:ArrayAdapter<String> = ArrayAdapter(this,android.R.layout.simple_spinner_item,listaLenguajes)
        spLenguajes?.adapter=adaptador

        spLenguajes?.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
            override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
                if(position>0){
                    tvSeleccion?.text="Seleccionaste "+spLenguajes?.getSelectedItem().toString()
                }else{
                    tvSeleccion?.text="No haz seleccionado ningun lenguaje de programacion"
                }
            }
            override fun onNothingSelected(parent: AdapterView<*>?) {
                tvSeleccion?.text="No haz seleccionado ningun lenguaje de programacion"
            }

        }

    }

}
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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=".MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="24dp"
        android:text="Humano selecciona un lenguaje de programacion"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Spinner
        android:id="@+id/spLenguajes"
        android:layout_width="328dp"
        android:layout_height="26dp"
        android:layout_marginTop="24dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView" />

    <TextView
        android:id="@+id/tvSeleccion"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="24dp"
        android:text="TextView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/spLenguajes" />
</androidx.constraintlayout.widget.ConstraintLayout>

ūüé¶ Lista de reproducci√≥n de este curso: https://www.youtube.com/watch?v=3ZUlE_tvfaM&list=PLCTD_CpMeEKRL2-HaZThebGcyyR3_RshO&ab_channel=programadornovato
ūüé¶ Curso de Android Studio: https://www.youtube.com/watch?v=AHyTqIB_8Rs&list=PLCTD_CpMeEKTT9pb9J-89j1SPtqHzU7sF&ab_channel=programadornovato
ūüé¶ [Curso] Java Netbeans Completo‚ėē: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTT-qEHGqZH3fkBgXH4GOTF
ūüé¶ [Curso] Kotlin de 0 a 100: https://www.youtube.com/playlist?list=PLCTD_CpMeEKSjzbsW_zmVNz23GyOVsdbS
ūüé¶ [Curso] Java Netbeans Completo‚ėē: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTT-qEHGqZH3fkBgXH4GOTF

ūüĒó Facebook: https://facebook.com/ProgramadorNovatoOficial
ūüĒó Twitter: https://twitter.com/programadornova
ūüĒó Linkedin: https://www.linkedin.com/in/programadornovato/
ūüĒó Instagram: https://www.instagram.com/programadornovato/
ūüĒó Pagina oficial: https://www.programadornovato.com
ūüĒó Gracias por apoyar este canal: https://www.patreon.com/programadornovato

Anterior tutorial Siguiente tutorial

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable:¬†Eugenio Chaparro.
  • Finalidad:¬† Moderar los comentarios.
  • Legitimaci√≥n:¬† Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:¬† No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a digitalocean.com que act√ļa como encargado de tratamiento.
  • Derechos:¬†Acceder, rectificar y suprimir los datos.
  • Informaci√≥n Adicional:¬†Puede consultar la informaci√≥n detallada en la Pol√≠tica de Privacidad.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad
Salir de la versión móvil