La señal de Seterror no está desapareciendo y la Búsqueda está funcionando
He implementado el código de error de conjunto en dos texto de edición.
- Primero para obtener cualquier cadena sin valor nulo o vacío.
- Segundo para obtener cualquier cadena sin valor nulo o vacío y debe tener algún valor doble.
El código es el siguiente
- Disposición de Android con vista a la derecha que ocupa un espacio preestablecido y visualiza en las escalas de la izquierda para llenar el resto de la pantalla hasta cierto límite
- Mis opiniones se están restableciendo en el cambio de orientación
- Vista personalizada (extendiendo LinearLayout) la propiedad "perder peso"
- estilo no se aplica
- Cómo desactivar todos los eventos de clic de un diseño?
import java.util.HashMap; import java.util.Map; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class SearchPlaces extends Activity { EditText place; EditText distance; Button search; static String _place; static String _distance; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); place = (EditText) findViewById(R.id.place); distance = (EditText) findViewById(R.id.distance); search = (Button) findViewById(R.id.search); search.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Map<String, String> validate = new HashMap<String, String>(); _place = place.getText().toString(); _distance = distance.getText().toString(); validate.put("placename", _place); validate.put("distancenumeric", _distance); if (!validateInputInformation(validate)) { return; } if ((_place == "" && _distance == "")) { Toast.makeText(getApplicationContext(), "Please fill all the information", Toast.LENGTH_SHORT).show(); } else { _place = place.getText().toString(); _distance = distance.getText().toString(); Intent placedist = new Intent(getApplicationContext(), MainActivity.class); Bundle bundle = new Bundle(); bundle.putString("place", _place); bundle.putString("distance", _distance); placedist.putExtras(bundle); startActivity(placedist); } } private boolean validateInputInformation( Map<String, String> validate) { String l_place = validate.get("placename"); if (l_place == null || l_place.equals("")) { place.setError("Please enter the Place First"); return false; } String l_distance = validate.get("distancenumeric"); if (l_distance == null || l_distance.equals("")) { distance.setError("Please enter the Distance First"); return false; } if (!isDoubleNumber(l_distance)) { distance.setError("Please enter Numeric Value"); return false; } return true; } private boolean isDoubleNumber (String num) { try { Double.parseDouble(num); } catch (NumberFormatException nfe) { return false; } return true; } }); } }
Después de implementar que todos los trabajos van bien, pero cuando no entrar y haga clic en el botón de búsqueda el error aparece en el primer cuadro de edición después de que cuando vuelva a introducir los valores correctos como entrada necesaria, la notificación de error no desaparece, pero el botón de búsqueda Funciona bien.
Por favor, ayúdame para que la notificación de error de set se pueda eliminar de la primera caja de edición.
- ¿Cuándo usar el diseño de restricciones y cómo utilizarlo de manera eficiente?
- Analizar Google plus login
- Botón de presentación condicional
- El pie de página sube cuando se muestra el teclado
- ¿Por qué los gráficos de 9 parches tienen un tamaño correcto en el emulador pero no en un teléfono?
- Android - HorizontalScrollView - obtener la vista en foco (o índice de la misma)
- Problemas de aplicación de chat en globo
- Problema de renderización de advertencia de fidelidad
Escriba debajo de la línea de código en lugar de if ((_place == "" && _distance == ""))
, resolverá su problema.
if (_place.equals("") && _distance.equals(""))
Me tropiezo en tu post porque estoy enfrentando el mismo problema: "Cuando dejo vacío un campo, mi setError aparece, pero cuando empiezo a escribir, el icono y el texto no se eliminan"
Este comportamiento es extraño y estoy bastante seguro de que se trata de un error en Android, porque si establezco inputType de mi campo a "textAddressEmail" o "textPassword" funciona, pero no cuando mi entrada es "text", "textCapWords" , "TextPersonName" …
La solución es programar el tipo inputType
EditText registrationName = (EditText)findViewById(R.id.registrationName); registrationName.setInputType(InputType.TYPE_TEXT_FLAG_CAP_WORDS | InputType.TYPE_TEXT_VARIATION_PERSON_NAME);
He estado enfrentando este problema también. Para deshacerse de este error, simplemente llame a: myEditText.Error = null;
Espero que esto ayude !
Codificación feliz!
- ¿Cómo puedo guardar la configuración de mi aplicación sin usar una base de datos ??? (Utilizando archivos de texto simples)
- Miniatura de video arrayadopter es lento en scroll