|
||
|
![]() |
![]() |
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
Herramientas |
#1
|
||||
|
||||
Aplicación para sumar números
Buenos días,
Estoy empezando en esto de programar apps y me encuentro en un problema que no he podido solucionar, quizás es algo muy básico. Me gustaría crear una aplicación que sumara dos números mostrando directamente el resultado sin necesidad de pulsar un botón (así sí lo sé hacer). Ahora mismo no tengo el código a mano pero intento contaros un poco como lo tengo montado: En el HTML tengo definidos dos EditText para entrar los sumandos y un TextView para que muestre el resultado. En los tres cases he definido sólo el id (sumando1, sumando2 y resultado respectivamente), el ancho, el alto y la posición. Hasta aquí bien. Después supongo que debo crearme una "acción" (no sé si es el termino correcto). Aquí es donde empiezo a perderme, yo la he creado como (lo escribo de memoria): Public void SumaValores (Aquí no se que poner){ EditText Sumando1 = (EditText) FindViewById(R.id.sumando1); // Definir variable asociada al primer sumando EditText Sumando2= (EditText) FindViewById(R.id.sumando2); // Definir variable asociada al segundo sumando TextView resultado = (TextView) FindViewById(R.id.resultado); // Definir variable asociada al resultado Int s1 = Integer.parseInt(Sumando1); // Pasar la variable a entero Int s2 = Integer.parseInt(Sumando2);// Pasar la variable a entero Int s = s1+s2; // Definir entero que adquiere el valor de la suma String suma = Integrer.toString(s); // Pasamos “s” a string resultado.setText(suma); // Asignar al TextView el valor de suma } Entonces me gustaría que esta acción se ejecutara cada vez que el usuario introduce un valor en el primer o segundo sumando, recalculando automáticamente el resultado. El problema es que no se desde dónde o cómo llamar a que se ejecute esta acción cada vez que se introduce o modifica un valor. Tampoco tengo claro dónde ubicar la acción dentro del archivo Java. Os pongo algunos ejemplos: Ejemplo1: Primer sumando = 2, segundo sumando = 3, entonces resultado = 5. Si modifico el segundo sumando = 4, automáticamente quiero que el resultado = 6. Si se introduce sólo el primer valor, el resultado será igual al primer valor (y lo mismo para el segundo). Ejemplo2: Primer sumando = 2, segundo sumando = (nada), resultado = 2. Ejemplo3: Primer sumando = (nada), segundo sumando = 3, resultado = 3. Muchas gracias, toda ayuda será bien recibida |
|
#2
|
||||
|
||||
Buscas el addTextChangedListener.
Tienes que aplicarlo sobre cada uno de los EditText, y tiene como parámetro una interface TextWatcher (puede ser la misma para los 2). Tienes que implementar el método afterTextChanged para que haga la suma de los 2 EditText y la coloque en el TextView. OJO!! Tendrás que controlar la posible excepción de que lo que haya introducido no sea un número, incluida la cadena vacía. |
![]() |
![]() |
||||||
|