Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android borrar todos los campos de edición con el botón Borrar

¿Cómo puedo borrar todos los campos EditText en un diseño con un Clear Button . Tengo una actividad de registro que tiene cerca de 10 diferentes EditTexts . Sé que podría ir y agarrar una referencia a cada uno específicamente y entonces set.Text("") ; Pero estoy buscando una manera más dinámica y elegante. Posiblemente agarrar el Layout y el lazo a través de todos los elementos que hay en busca de tipos de EditText y, a continuación, establecer los "" . No estoy seguro de cómo hacer que aunque y trató de buscar en la web para que, pero no hay suerte. Cualquier código de ejemplo?

9 Solutions collect form web for “Android borrar todos los campos de edición con el botón Borrar”

La respuesta de @Pixie es genial, pero me gustaría hacerlo mucho mejor.

Este método funciona bien sólo si todo el EditText está en un solo (uno) diseño, pero cuando hay montón de diseños anidados este código no se ocupa de ellos.

Después de rascarme la cabeza un rato he hecho la siguiente solución:

 private void clearForm(ViewGroup group) { for (int i = 0, count = group.getChildCount(); i < count; ++i) { View view = group.getChildAt(i); if (view instanceof EditText) { ((EditText)view).setText(""); } if(view instanceof ViewGroup && (((ViewGroup)view).getChildCount() > 0)) clearForm((ViewGroup)view); } } 

Para usar este método simplemente llame a esto de la siguiente manera:

 clearForm((ViewGroup) findViewById(R.id.sign_up)); 

Donde puede reemplazar su R.id.sign_up con el id de la disposición raíz de su archivo XML.

Espero que esto ayude a muchas personas como yo.

🙂

Puede iterar a través de todos los niños en un grupo de vistas y borrar todos los campos EditText :

 ViewGroup group = (ViewGroup)findViewById(R.id.your_group); for (int i = 0, count = group.getChildCount(); i < count; ++i) { View view = group.getChildAt(i); if (view instanceof EditText) { ((EditText)view).setText(""); } } 

Utilice editText.getText().clear();

Utilice ediText.getText().clear();

Funciona como un encanto para mí.

Después de onclick de cualquier acción hacer debajo del paso

  ((EditText) findViewById(R.id.yoursXmlId)).setText(""); 

O Borrar todos los campos EditText iterando todos los niños:

 ViewGroup group = (ViewGroup)findViewById(R.id.your_group); for (int i = 0, count = group.getChildCount(); i < count; ++i) { View view = group.getChildAt(i); if (view instanceof EditText) { ((EditText)view).setText(""); } } 

O utilice el siguiente paso simple:

 editText.getText().clear(); 

Podría ser útil.

En mi caso he hecho esto.

 public static void resetForm(ViewGroup group) { for (int i = 0, count = group.getChildCount(); i < count; ++i) { View view = group.getChildAt(i); if (view instanceof EditText) { ((EditText) view).getText().clear(); } if (view instanceof RadioGroup) { ((RadioButton)((RadioGroup) view).getChildAt(0)).setChecked(true); } if (view instanceof Spinner) { ((Spinner) view).setSelection(0); } if (view instanceof ViewGroup && (((ViewGroup) view).getChildCount() > 0)) resetForm((ViewGroup) view); } } 

Utilicé esto para LinearLayout anidado para borrar EditTexts y RadioButtons

// método clear private void clear (grupo ViewGroup) {for (int i = 0, count = group.getChildCount (); i

  if(view instanceof LinearLayout) { clear((ViewGroup) view); } else if(view instanceof EditText) { ((EditText) view).getText().clear(); } if (view instanceof RadioButton) { ((RadioButton) view).setChecked(false); } }//end for }//end method clear 

  // Update answer private void clearEditTextGroup(ViewGroup group){ for(int i=0 ; i< group.getChildCount(); i++){ View view = group.getChildAt(i); if(view instanceof EditText){ // use one of clear code } if(view instanceof ViewGroup && (((ViewGroup)view).getChildCount() > 0)) clearEditTextGroup((ViewGroup)view); } } 

Utilice uno de este código para borrar su edittext

 edittext.getText().clear(); 

o

 edittext.setText(null); 

o

 edittext.setText(""); 

Utilice editText.getText().clear();

O setText como Empty usando este código debajo editText.setText(");

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.