Android – Set Spinner Punto de inicio
Esto es probablemente una simple cosa directa a hacer para algunos.
Tengo este código …
- Edición de altura de edición de texto
- Diferencia entre android.R.layout.simple_spinner_dropdown_item y android.R.layout.simple_spinner_item
- ¿Cómo puedo administrar la altura de los ítems de spinner android?
- Android.database.sqlite.SQLiteCursor@435b9ba0
- Por que enNo se selecciona ningunoSeleccionado
SQLiteDatabase db = dbs.getReadableDatabase(); String SQL = "SELECT * FROM Table"; final Cursor cursor = db.rawQuery(SQL, null); array_spinner1[0] = "Select:"; while (cursor.moveToNext()) { array_spinner1[i]= cursor.getString(1) + " - " + cursor.getString(2); i ++; } final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, array_spinner1); s1.setAdapter(adapter);
Relleno el arreglo y todo funciona bien. Sin embargo, quiero iniciar la posición de la hiladora no en el primer elemento (Seleccionar). Quiero que comience donde el elemento en el cursor = 'aquí' por ejemplo. Espero tener sentido
Para ponerlo en contexto en la columna 'Tabla' 1 es el rango de edad de y la columna 2 es el rango de edad a. Así que en el spinner consigo 0-5, 6-10, 11-20 etc.
Y lo que quiero hacer es iniciar el hilandero seleccionado en 11-20 si el dob del usuario lo hace esa edad ….? Sé que setSelection seleccionaría un cierto valor, pero necesito resolver el correcto para la edad de los usuarios?
Así que básicamente quiero saber cómo trabajar eso y poblar seleccionar la ruleta correctamente, gracias
- Establecimiento de hilanderos en fragmento
- ¿Cómo puedo cambiar o disminuir el tamaño de la ruleta de Android?
- Ayuda con la sincronización de la selección del hilador
- ¿Cómo puedo agregar elementos a una ruleta en Android?
- Cómo hacer una fecha spinner en Android
- Mostrar desplegable programaticamente en ActionBar / ActionBarSherlock
- Elemento deshabilitado en la lista de hilanderos
- Personalización de la fuente de spinner
La clase Spinner hereda setSelection(int position, boolean animate)
de AbsSpinner. Llame a ese método con la posición de su valor predeterminado deseado (y false
para el bit animado). Sólo necesita iterar a través de su lista de valores posibles para verificar las condiciones, así que tal vez no entiendo donde está su dificultad?
Leer esto una segunda vez me da la impresión de que esto no es realmente una pregunta de Android. Lo que estás buscando es cómo ver si una fecha dada de nacimiento coloca a un usuario en un determinado grupo de edad. He visto matemáticas de edad hechas en Joda aquí: ¿Cómo calculo la edad de alguien en Java?
A partir de ahí es cuestión de ver si la edad cae dentro de su rango dado.
boolean isInRange(Years age, int start, int end) { int intAge = age.getYears(); if (intAge >= start && intAge <= end) { return true; } else { return false; } }
Una adición más a mi respuesta aquí. Si no quieres lidiar con la ejecución de Joda en Android, he aquí otra posibilidad para calcular la edad usando sólo los componentes estándar de Java. Ver el tercer post.
http://www.coderanch.com/t/391834/java/java/there-better-way-calculate-age
Por su solicitud de un ejemplo, aquí es SimpleDateFormat para cadenas de fecha.
String dateString = "04/02/2004"; SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy"); Date parsedDate = format.parse(dateString, 1);
String DOB = "04/02/2004"; SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy"); Date parsedDate = format.parse(DOB, 0); Date dateNow = new Date(Date.getYear(),Date.getMonth(),Date.getDay()); Date dateDiff = dateNow - parsedDate; int Age = dateDiff.getYear(); if(Age>0 && Age<5){ pos = 0; }//etc.... s1.setSelection(pos, false);
No lo he comprobado, pero creo que es algo así que usted está después. Podría estar equivocado. Lo probará en un minuto.
- Artículo de reciclaje
- Envío de los datos al servidor a través del correo cuando la conexión a Internet vuelve