¿Por qué mi editText no presenta la salida correcta en android?

Soy un principiante en la programación android y estoy tratando de escribir una calculadora simple con 3 campos de editText. 2 de ellos se utilizan como entradas y el tercero como el resultado de salida. Cuando hago clic en el botón "+" espero que la salida de la suma de los 2 números. Pero consigo un número extraño en lugar de por ejemplo 2 + 3 = 2.131230724E9 Traté de resolver en sobre la red pero no podría encontrar ese problema específico … .gracias …

final double tf1 = Double.parseDouble(String.valueOf(R.id.editText1)); final double tf2 = Double.parseDouble(String.valueOf(R.id.editText2)); Button btplus = (Button)findViewById(R.id.button1); btplus.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { double tf3; tf3 = tf1 + tf2; EditText result = (EditText)findViewById(R.id.editText3); result.setText(String.valueOf(tf3)); } }); 

R.id.editText1 se refiere al valor int en R.java .

Es necesario inicializar EditText primero en onCreate . Si no desea que el modificador final declare EditText como miembro de la clase

  final EditText ed1 = (EditText) findViewById(R.id.editText1); final EditText ed2 = (EditText) findViewById(R.id.editText1); final EditText result = (EditText)findViewById(R.id.editText3); 

Entonces

  Button btplus = (Button)findViewById(R.id.button1); btplus.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { double tf3; double tf1 =Double.parseDouble(ed1.getText().toString()); double tf2 =Double.parseDouble(ed2.getText().toString()); tf3 = tf1 + tf2; result.setText(String.valueOf(tf3)); } }); 

El problema está en su código:

 final double tf1 = Double.parseDouble(String.valueOf(R.id.editText1)); final double tf2 = Double.parseDouble(String.valueOf(R.id.editText2)); 

No está tomando el valor de EditText, sino la referencia a los objetos. Usted necesita cambiar esto para algo como esto

 final double tf1 = Double.parseDouble(((EditText)findViewById(R.id.editText1)).getText().toString()); final double tf2 = Double.parseDouble(((EditText)findViewById(R.id.editText2)).getText().toString()); 

Además, debe incluir estas líneas en el método OnClick del botón, por lo que tomará los valores actuales cuando haga clic en el botón.

En lugar de esto :

 result.setText(String.valueOf(tf3)); 

Utilizar esta :

 result.setText("" + tf3); 

Pruebe lo siguiente:

 EditText editText1 = (EditText) findViewById(R.id.editText1); EditText editText2 = (EditText) findViewById(R.id.editText2); final double tf1 = Double.parseDouble(editText1.getText().toString()); final double tf2 = Double.parseDouble(editText2.getTExt().toString()); 

R.id es sólo un entero de referencia y es por eso que obtiene números impares al agregar los dos enteros de id juntos, no el valor real en el cuadro de texto.

 final double tf1 = Double.parseDouble(edittext1.getText().toString()); final double tf2 = Double.parseDouble(edittext2.getText().toString()); Button btplus = (Button)findViewById(R.id.button1); btplus.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { double tf3 = 0; tf3 = tf1 + tf2; EditText result = (EditText)findViewById(R.id.editText3); result.setText(String.valueOf(tf3)); } }); 
  • Problema de compilación de Gradle: actualización de Quickblox y httpclient en el último SDK23 de Android
  • Android: Poner cuadrícula de objetos dinámicos y personalizados dentro de otra cuadrícula de objetos dinámicos y personalizados
  • InputStream no recibe EOF
  • Obtener dirección MAC Ethernet de Android (no interfaz wifi)
  • Cómo cambiar una RealmList a RealmResult?
  • Android GeoCoder: la búsqueda por código postal devuelve resultados inesperados
  • Android Studio-Java.exe finaliza con valor de salida distinto de cero 2
  • ¿Cómo hacer que el número no sea accesible (similar al bloqueador de llamadas)?
  • cómo puedo agregar elementos a listview dinámicamente en android
  • Obtener "EVP_DecryptFinal_ex: longitud de bloque final errónea" durante el desencriptado
  • Android TextView NullPointerException con onTouchListener y onClickListener en 4.0
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.