Krishna Veni Krishna Veni - 1 month ago 6
Android Question

editText field is required before moving on to another Activity

I have validation for

editText
. If the
editText
field is empty it should fail validation and stop the user moving on to another
Activity
, as a value is required. How to do it? I know this is a basic question, but I can't figure out how to do this.

My code:

btninsert = (Button)findViewById(R.id.btn_insert);
btninsert.setOnClickListener( new View.OnClickListener() {
public void onClick(View v) {
insertValues();
EditText userName = (EditText) findViewById(R.id.editText1);

if( userName.getText().toString().length() == 0 )
userName.setError( "First name is required!" );

Intent i = new Intent(getApplicationContext(), Login.class);
startActivity(i);
}
});


When this
Button
is clicked the user is redirect to next screen, but I need that if validation fails they stay on the current
Activity
, and only when validation is successful (i.e. a value has been entered) they go to the next
Activity
.

Answer

You can do that this way...Remove your If condition and replace this.

if( userName.getText().toString().trim().equals("")){

   /**
    *   You can Toast a message here that the Username is Empty    
    **/

   userName.setError( "First name is required!" );

}else{
   Intent i = new Intent(getApplicationContext(), Login.class);
   startActivity(i);
}
Comments