¿Hay alguna manera de usar el widget Android NumberPicker para elegir cadenas en lugar de enteros?Usando el widget NumberPicker con cadenas
Respuesta
NumberPicker picker = new NumberPicker(this);
picker.setMinValue(0);
picker.setMaxValue(2);
picker.setDisplayedValues(new String[] { "Belgium", "France", "United Kingdom" });
String value = String.valueOf(picker.getValue());
Puede significar algo más, pero no está muy claro a qué se refiere.
ACTUALIZADO:
Usted puede fingir mediante el establecimiento de su propio formateador:
CountryFormatter implements Formatter {
public String toString(int value) {
switch(value) {
case 0:
return "England";
case 1:
return "France";
}
return "Unknown";
}
}
picker.setFormatter(new CountryFormatter());
getValue() todavía devolver un int, por lo que es probable que desee asignar los nombres de los países a sus documentos de identidad.
añadido: La implementación de NumberPicker tiene:
public void setRange(int start, int end, String[] displayedValues)
que parece hacer un mejor trabajo de lo que quiere entonces el formateador anterior .. aunque no se menciona en la documentación por lo que probablemente ISN' t parte de la API pública
me gustaría utilizarlo para elegir, por ejemplo, un país. Al igual que el Spinner Widget, pero sin abrir un marco adicional en la parte inferior para elegir un valor. – timoschloesser
Respuesta actualizada, sin embargo, hay probablemente mejores formas de listar países que intentar hackear NumberPicker para hacer este tipo de cosas. – FunkTheMonk
@FunkTheMonk ¡No pude encontrar este método 'setRange()' en los documentos! ¿Alguna idea de por qué? – iTurki
NumberPicker numberPicker = new NumberPicker(this);
String[] arrayString= new String[]{"hakuna","matata","timon","and","pumba"};
numberPicker.setMinValue(0);
numberPicker.setMaxValue(arrayString.length-1);
numberPicker.setFormatter(new NumberPicker.Formatter() {
@Override
public String format(int value) {
// TODO Auto-generated method stub
return arrayString[value];
}
});
espero que ayude!
intentar esta solución, puede ayudar a
NumberPicker pickers = new NumberPicker(this);
String[] arrayPicker= new String[]{"abc","def","ghi","jkl","mno"};
//set min value zero
pickers.setMinValue(0);
//set max value from length array string reduced 1
pickers.setMaxValue(arrayPicker.length - 1);
//implement array string to number picker
pickers.setDisplayedValues(arrayPicker);
//disable soft keyboard
pickers.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);
//set wrap true or false, try it you will know the difference
pickers.setWrapSelectorWheel(false);
//create button to test selected text string
btnPicker.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//get position (int) from number picker
int pos = pickers.getValue();
//get string from number picker and position
String selecPicker = arrayPicker[pos];
//test toast to get selected text string
Toast.makeText(context, selecPicker , Toast.LENGTH_SHORT).show();
}
});
- 1. Android NumberPicker no ahorrar EditarTexto cambia
- 2. ¿Cómo se implementaría un NumberPicker en Android API 7?
- 3. NumberPicker en AlertDialog siempre activa el teclado. ¿Cómo deshabilitar esto?
- 4. Android NumberPicker ocultar botones de incremento y decremento
- 5. ¿Usando un ToggleButton en un widget?
- 6. GWT Clonar un widget usando DOM.clone
- 7. Actualización del widget de aplicación usando AlarmManager
- 8. Entrada enmascarada usando el widget EditText en Android
- 9. jQuery en el widget
- 10. Dos botones con PendingIntents - Widget
- 11. Problemas con widget Android-pulltorefresh
- 12. ListView con widget seleccionable/editable
- 13. Comparación de cadenas PHP usando '=='
- 14. búsqueda de cadenas usando OQL
- 15. AngularJS cómo vincular datos con el widget SVG
- 16. Subconjunto en R usando la condición O con cadenas
- 17. Ajuste del intervalo de incremento/disminución de NumberPicker
- 18. Cómo deshabilitar el widget updatePeriodMillis?
- 19. Personalizar formularios de Django con el widget RadioSelect
- 20. Cómo convertir cadenas a BSON usando el controlador MongoDB C++?
- 21. ¿Cómo reemplazar un widget por otro usando Qt?
- 22. ¿Cómo reemplazar el elemento con mi widget GWT?
- 23. Android - Widget con Scroll Listview Manual Refresh
- 24. Cadenas de concatenación con
- 25. ¿Cómo ordenar cadenas no inglesas usando nspredicate?
- 26. Comparando cadenas con el formato "2.0.1", "2.0.09"
- 27. Concatenación de cadenas con el preprocesador
- 28. Extender el widget GWT creado utilizando UIBinder
- 29. Un widget qt con fondo totalmente transparente
- 30. Comparación de cadenas dobles usando la recursión
La clave para mí allí era que tenías que configure los valores mostrados Y el mínimo y máximo antes de que funcione. Gracias. –
Esto es mucho mejor que la respuesta elegida anteriormente. –
Pero cuando hago clic en el texto, el teclado virtual aparece y puedo editar el texto. – Confuse