Clean an EditText that has a String stored

0

I am creating an app in Android Studio, and I want at some point what was written in the EditText is deleted or the box is cleaned, and try everything and I can not fix it. This is my code:

public void check1(View view){

        String RESP = ((EditText) findViewById(R.id.editText)).getText().toString();
        if (RESP.equals("4"))
        {

            if(MostrarCorrecto.getVisibility() == View.GONE)
            {
                MostrarCorrecto.setVisibility(View.VISIBLE);
                MostrarIncorrecto.setVisibility(View.GONE);
            }
**Es en este punto donde quiero que se limpie el EditText**
            }
    
asked by Adrian Acosta 18.05.2018 в 01:11
source

3 answers

0

you should only put setText where you want it with double quote inside:

  

It's at this point where I want the EditText to be cleaned

((EditText) findViewById(R.id.editText)).setText("");
    
answered by 19.05.2018 / 21:41
source
0

First, your class must implement OnClickListener and you have to add a listener to EditText in onCreate .

Then, in the onClick you make the change.

Something like this:

/*
  *OJO,si ya tienes implements OnClickListener 
  *NO CAMBIES NADA EN ESTA 1ª LÍNEA
  *si no lo tienes, AGREGA SÓLO esto implements OnClickListener 
*/
public class TuActivity extends Activity implements OnClickListener {
    public EditText editText;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        /*código del layout y demás*/
        //...
        /*
           *Aquí suponemos que tu edittext tiene el id editText
           *en el layout, después de R.id. debes poner el id que éste tenga
        */
        editText = (EditText) findViewById(R.id.editText); 
        /*Agregas el listener*/
        editText.setOnClickListener(this);
    }


    @Override
    public void onClick(View v) {
        /*
           *Atención a la convención de nombres, las variables en mayúsculas
           *representan constantes en la convención de nombres de Java
           *No es motivo de error, pero dificulta la legilibilidad del código
        */
        String strResp = editText.getText().toString();
        if (strResp.equals("4"))
        {

            if(MostrarCorrecto.getVisibility() == View.GONE)
            {
                MostrarCorrecto.setVisibility(View.VISIBLE);
                MostrarIncorrecto.setVisibility(View.GONE);
            }
            /*Es en este punto donde quiero que se limpie el EditText*/
            /*Aquí sólo funcionará cuando escribas un 4*/
            editText.setText("");
            }
        }

    }

}
    
answered by 18.05.2018 в 01:54
0

Your code should be like this

public void check1(View view){

    EditText editText = (EditText)findViewById(R.id.editText); //Refecias tu EditText en una variable
    String RESP = editText.getText().toString(); //Obtienes el texto
    if (RESP.equals("4"))
    {

        if(MostrarCorrecto.getVisibility() == View.GONE)
        {
            MostrarCorrecto.setVisibility(View.VISIBLE);
            MostrarIncorrecto.setVisibility(View.GONE);
        }
        editText.setText(""); //Limpia el EditText
    }
}
    
answered by 19.05.2018 в 21:46