El uso de colecciones de java en una aplicación para android
Si nos fijamos en la paleta de herramientas Diseñador de Android Studio, puede encontrar el Hilandero componente. Puede arrastrar un componente giratorio de la paleta en una de las pantallas de vista previa de tu aplicación. Un componente Spinner es una lista desplegable - un montón de alternativas para el usuario para elegir. Que “montón” de alternativas es una colección de algún tipo. En este caso, se utiliza una matriz para poner en práctica la colección.
Vamos a ampliar las opciones.
¿Qué hay de Bach?
Aquí está el código.
com.allmycode.a12_11- paquete
importación android.os.Bundle-
importación android.support.v7.app.AppCompatActivity-
importación android.view.View-
importación android.widget.AdapterView-
importación android.widget.AdapterView.OnItemSelectedListener-
importación android.widget.ArrayAdapter-
importación android.widget.Spinner-
importación android.widget.TextView-
MainActivity clase pública se extiende AppCompatActivity {
Vista de Texto textView-
@Anular
protected void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState) -
setContentView (R.layout.activity_main) -
Spinner spinner = (Spinner) findViewById (R.id.spinner) -
Textview = (TextView) findViewById (R.id.textView) -
String [] = opciones
{"Seleccionar un compositor",
"Monteverdi", "Pachelbel", "Corelli", "albinoni",
"Vivaldi", "Telemann", "Handel","Llevar una vida de soltero", "Scarlatti"} -
ArrayAdapter
nueva ArrayAdapterlt; gt; (esto, android.R.layout.simple_spinner_item, opciones) -
spinner.setAdapter (adaptador) -
spinner.setOnItemSelectedListener (nueva MyItemSelectedListener ()) -
Video: Spring Framework
}
MyItemSelectedListener clase implementa OnItemSelectedListener {
@Anular
public void onItemSelected (AdapterViewlt;? gt; adapterView, vista,
posición int, long id) {
si (posición == 0) {
textView.setText ("No ha seleccionado un compositor.") -
} Else {
textView.setText (adapterView.getItemAtPosition (posición) .toString ()) -
}
}
@Anular
public void onNothingSelected (AdapterViewlt;? gt; adapterView) {
// Hacer nada
}
}
}
Para hacer una ruleta haga su trabajo, se crea un oyente y un adaptador.
El oyente
oyente de un spinner es muy parecido oyente de un botón. Es una pieza de código que recibe las acciones del usuario y responde cuando se produce una acción apropiada.
En el código anterior, un oyente se crea (una instancia de MyItemSelectedListener
clase). Usted le dice a Android para notificar al oyente cuando el usuario selecciona uno de los elementos de la ruleta:
spinner.setOnItemSelectedListener (nueva MyItemSelectedListener ()) -
los MyItemSelectedListener
la clase de onItemSelected
método debe decirle qué hacer Android en respuesta a la selección del usuario.
el adaptador
Se puede adivinar que se agrega un elemento a una ruleta con una llamada como ésta:
// No hacer esto:
spinner.addRow ("Monteverdi") -
Pero esa no es la forma en que funciona. Cuando un desarrollador de Android piensa en una ruleta, el desarrollador cree que alrededor de dos conceptos diferentes:
- Una ruleta tiene datos.
Los datos de la ruleta se compone de los valores "Seleccionar un compositor"
, "Monteverdi"
, "Pachelbel"
, y así.
- Una ruleta tiene una “mirada”.
spinner de esta sección tiene un aspecto simple. En la primera imagen, la ruleta tiene texto en el lado izquierdo y una pequeña flecha hacia abajo en el lado derecho. En la segunda imagen, cada uno de los elementos de la ruleta tiene texto en el lado izquierdo.
la encarnación de una ruleta en la pantalla (el “look”) es un objeto en sí mismo. Es una instancia de Android AdapterView
clase. Una cosa de sonido similar, una instancia de la SpinnerAdapter
clase, conecta los datos de un spinner con una ruleta de “mirada”.
Hay varios tipos de adaptador de ruleta, incluyendo el ArrayAdapter
y CursorAdapter
clases:
- Un
ArrayAdapter
obtiene datos de una colección, tal como una matriz o unaLista de arreglo
. - Un CursorAdapter obtiene datos de una consulta de base de datos.
En el código anterior, una ArrayAdapter
se utiliza. los ArrayAdapter
constructor tiene tres parámetros:
- El primer parámetro es un contexto.
Utilizar esta
para el contexto. La palabra esta
representa cualquier objeto que contiene la línea de código actual. En el código, esta
se refiere a Actividad principal
.
- El segundo parámetro es un diseño.
El nombre android.R.layout.simple_spinner_item
se refiere a una disposición estándar para uno de los artículos.
- El tercer parámetro es la fuente de los datos.
Puede proporcionar opciones, que se declaran a ser una matriz de valores de cadena.
Video: HASHMAP en JAVA [Español] | Programación en JAVA
Note la onItemSelected
El método de posición
parámetro. Cuando el usuario selecciona el elemento situado más arriba en la lista de la ruleta (el seleccionar un elemento del compositor), Android da esa posición
parámetro el valor 0. Cuando el usuario selecciona el siguiente a la más alta artículo (el artículo Monteverdi), Android da esa posición
El valor representado 1. Y así sucesivamente.
En el onItemSelected
El cuerpo de método, el código comprueba para asegurarse de que posición
No es 0. Si posición
no es 0, el código que se conecta posición
valor en el adapterView.getItemAtPosition
método para obtener la cadena en cualquier punto que el usuario ha hecho clic. El código muestra esa cadena (Monteverdi
, Pachelbel
, o el que sea) en una vista de texto
componente.