Question

I am trying to clear or say Reset the editText while clicking on Clear Forms button. I am unable to Clear the editText box. This is my complete code :

protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_contact_us);

    et1 = (EditText) findViewById(R.id.editText1); //name
    et3 = (EditText) findViewById(R.id.editText3); //email
    et2 = (EditText) findViewById(R.id.editText2); //feedback


    Button submit1 = (Button) findViewById(R.id.button1);
    //submit1.setOnClickListener(this);
    Button clear=(Button)findViewById(R.id.button2);
    //clear.setOnClickListener(this);

    submit1.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View view)
        {
             if(view==submit1)
             {
                if(et1.getText().toString().length()==0 || et2.getText().toString().length()==0
                        || et3.getText().toString().length()==0 )
                {
                    Toast t1=Toast.makeText(getApplicationContext(), "Please fill all the forms",
                            Toast.LENGTH_LONG);
                    t1.show();
                }
                else
                {
                    String email = "user@gmail.com"; 

                    String sub1=spin.getSelectedItem().toString();
                    String message = et2.getText().toString();//body
                    String name = et1.getText().toString(); 

                    String from=et3.getText().toString();
                    String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+";

                    if(from.matches(emailPattern))
                    {
                        String body="Name :"+name+"\n"+"Email ID :"+ from+"\n"+"Feedback :"+message;
                        sendMail(email,sub1,from, body); 
                    }
                    else
                    {
                        Toast.makeText(getApplicationContext(), "Invalid Email ID", Toast.LENGTH_SHORT).show();
                        et3.setText("");
                    }
                }
            }
             else if(view==clear)
                {
                    et1.setText("");
                    et2.setText("");
                    et3.setText("");
                }
        }
    });
}

Any Changes..?? Where I'm going wrong..?? please help me...

Was it helpful?

Solution

You forgot to add onClickListener for clear button, change your code like below,

protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_contact_us);

    et1 = (EditText) findViewById(R.id.editText1); //name
    et3 = (EditText) findViewById(R.id.editText3); //email
    et2 = (EditText) findViewById(R.id.editText2); //feedback


    Button submit1 = (Button) findViewById(R.id.button1);
    //submit1.setOnClickListener(this);
    Button clear=(Button)findViewById(R.id.button2);
    //clear.setOnClickListener(this);

    submit1.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View view)
        {
             if(view==submit1)
             {
                if(et1.getText().toString().length()==0 || et2.getText().toString().length()==0
                        || et3.getText().toString().length()==0 )
                {
                    Toast t1=Toast.makeText(getApplicationContext(), "Please fill all the forms",
                            Toast.LENGTH_LONG);
                    t1.show();
                }
                else
                {
                    String email = "user@gmail.com"; 

                    String sub1=spin.getSelectedItem().toString();
                    String message = et2.getText().toString();//body
                    String name = et1.getText().toString(); 

                    String from=et3.getText().toString();
                    String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+";

                    if(from.matches(emailPattern))
                    {
                        String body="Name :"+name+"\n"+"Email ID :"+ from+"\n"+"Feedback :"+message;
                        sendMail(email,sub1,from, body); 
                    }
                    else
                    {
                        Toast.makeText(getApplicationContext(), "Invalid Email ID", Toast.LENGTH_SHORT).show();
                        et3.setText("");
                    }
                }
            }
        }
    });

    // Add this code
    clear.setOnClickListener(new View.OnClickListener()
    {
            @Override
            public void onClick(View view)
            {
                if(view==clear)
                {
                    et1.setText("");
                    et2.setText("");
                    et3.setText("");
                }
            }
    });
}

OTHER TIPS

Implement clear button on click listener:-

clear.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View view)
        {

                    et1.setText("");
                    et2.setText("");
                    et3.setText("");

        }
    });

Try this,

EditText et1;
et1.setText(null);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top