I'm Developing an android app in which the Login activity has editText,RadioButton,Spinner and a button.So when the button is pressed I've to validate my form by checking whether all the fields filled else a alert message is given to the user.Can anyone please help me with the java code. Thanks in Advance.

public void OnClickListener(View v)
{
name=(EditText)findViewById(R.id.editText1);
years1=(RadioButton)findViewById(R.id.radioButton3);
years2=(RadioButton)findViewById(R.id.radioButton4);
years3=(RadioButton)findViewById(R.id.radioButton5);
manager=(RadioButton)findViewById(R.id.radioButton1);
teamleader=(RadioButton)findViewById(R.id.radioButton2);
rg1=(RadioGroup)findViewById(R.id.Designation);
rg2=(RadioGroup)findViewById(R.id.Years);
Button proceed = (Button) findViewById(R.id.button1);
proceed.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
if (validationSuccess())
{
}
else if(manager.isChecked())
{
Intent managerIntent = new Intent(getApplicationContext(), ManagerQuestionnaire1.class); // <----- START "SEARCH" ACTIVITY
startActivityForResult(managerIntent, 0);
}
else if(teamleader.isChecked())
{
Intent teamleaderIntent = new Intent(getApplicationContext(), TeamleaderQuestionnaire1.class); // <----- START "TYPE ENTRIES OUT" ACTIVITY
startActivityForResult(teamleaderIntent, 0);
}
else {
AlertDialog();
}
}
});
}
private Boolean validationSuccess()
{
if(name.getText().toString().equalsIgnoreCase(""))
{
Toast.makeText(getApplicationContext(),"Please enter name",0).show();
return false;
}
if(rg1.getCheckedRadioButtonId()<=0)
{
Toast.makeText(getApplicationContext(),"Please select designation",0).show();
return false;
}
if(rg2.getCheckedRadioButtonId()<=0)
{
Toast.makeText(getApplicationContext(),"Please select Experience",0).show();
return false;
}
if(dept.getSelectedItemPosition()==0)
{
Toast.makeText(getApplicationContext(),"Please select Depatrment",0).show();
return false;
}
return true;
}
private void AlertDialog()
{
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(Login.this);
alertDialogBuilder.setMessage("Please ensure all Questions are answered").setCancelable(false).setPositiveButton("OK", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
dialog.cancel();
}
});
AlertDialog alert = alertDialogBuilder.create();
alert.show();
}
Use Below code:
mBtnNext.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (validationSuccess()) {
Intent mIntent = new Intent(
YourActivity.this,
NewActivity.class);
} else {
AlertDialog();
}
});
private Boolean validationSuccess(){
if(editUsername.getText().toString().equalsIgnoreCase("")){
Toast.makeText(getApplicationContext();"Please enter name",0).show();
return false;
}
if(radioGroupDesignation.getCheckedRadioButtonId()<=0){
Toast.makeText(getApplicationContext();"Please select designation",0).show();
return false;
}
if(radioGroupExp.getCheckedRadioButtonId()<=0){
Toast.makeText(getApplicationContext();"Please select Experience",0).show();
return false;
}
if(spinner.getSelectedItemPosition()==0){
Toast.makeText(getApplicationContext();"Please select Depatrment",0).show();
return false;
}
return true;
}
you can try following code in you button click listener.
if(editUsername.getText().toString().trim().length()<=0){
//user name is not inserted
}
if(radioGroupDesignation.getCheckedRadioButtonId()<=0){
//designation is not selected
}
if(radioGroupExp.getCheckedRadioButtonId()<=0){
//experience is not selected
}
//set dummy item as first item of spinner (select one)
if(spinner.getSelectedItemPosition()==0){
//department is not selected
}
- > if(name.equals("")) { message="Name is Required";
edtname.requestFocus(); return false; } if(contactno.equals("")) { message="Contact Number is Required"; edtcontactnumber.requestFocus(); return false; }else { if(contactno.length()<10) { message="Invalid Contact Number"; edtcontactnumber.requestFocus(); return false; } } if(address.equals("")) { message="Address is Required"; edtaddress.requestFocus(); return false; } return true;</li>
来源:https://stackoverflow.com/questions/22291939/form-validation-on-button-click-in-android