Spanish cambiar Valor B4XComboBox

tio.craneo

Member
Licensed User
saludos!

tengo una consulta basica, pero no encontre como hacerlo..

ejem.

estoy usando un control b4xComboBox al cual le agregue los valores 1,2,3,4...10 , por defecto tiene seleccionado el valor 1
tengo un edit text al cual ingreso cualquier valor numerico ejm : 6.
Mi pregunta es como se hace para que el b4xComboBox cambie y seleccione el item con el valor 6 ?
 

josejad

Expert
Licensed User
Longtime User
Has probado algo como:

B4X:
Sub EditText1_EnterPressed
    B4XComboBox1.SelectedIndex = EditText1.Text
End Sub

Teniendo en cuenta que deberías limitar lo que puedas escribir en el edit text a algo que esté dentro de los índices del combo box
 

tio.craneo

Member
Licensed User
muchas gracias por la respuesta!
tuve errores al realizarlo:
-cboPRF_SelectedIndexChanged:(NumberFormatException) java.lang.NumberFormatException: multiple points
-java.lang.IndexOutOfBoundsException: Index: 29, Size: 26

Has probado algo como:

B4X:
Sub EditText1_EnterPressed
    B4XComboBox1.SelectedIndex = EditText1.Text
End Sub

Teniendo en cuenta que deberías limitar lo que puedas escribir en el edit text a algo que esté dentro de los índices del combo box
me dio pautas para poder implementarlo:
B4X:
        ind=cboPRF.cmbBox.IndexOf(EditText1.text)
        cboPRF.SelectedIndex=ind
funciona como lo requerido
 

josejad

Expert
Licensed User
Longtime User
-cboPRF_SelectedIndexChanged:(NumberFormatException) java.lang.NumberFormatException: multiple points
-java.lang.IndexOutOfBoundsException: Index: 29, Size: 26
como te comenté, si no limitas lo que pones en el edittext, pues tendrás errores.
En el primer caso es que lo que has escrito o no es un número, o no tiene un formato válido (una coma o un punto quizás)
En el segundo caso, has escrito un número mayor que el número de ítems que tienes en el combobox
 

angel_

Well-Known Member
Licensed User
Longtime User
Ten en cuenta lo que dice José, podrías utilizar algo así para evitarlo:

B4X:
cboPRF.SelectedIndex = Max(cboPRF.IndexOf(EditText1.text), 0)
 
Top