0

There is no error but the issue is I want to toast a message "Select the tuition package.", when the user did not choose any tuition package.

My validation coding inside the addRegistration method:-

else if(mTuitionPackage.getSelectedItemPosition() == 0){
    Toast.makeText(RegisterActivity.this, "Select the tuition package.", Toast.LENGTH_SHORT).show();
    return;
}

Spinner coding adapter:-

if(mAdvertisement != null){
        mTuitioName.setText(mAdvertisement.getAdstuitioname());

        ArrayList<TuitionPackage> tuitionPackages = mAdvertisement.getTuitionPackages();

        //Instantiate the custom list adapter
        PackageSpinnerAdapter adapter = new PackageSpinnerAdapter(this, tuitionPackages);
        mTuitionPackage.setAdapter(adapter);
        mTuitionPackage.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
                TuitionPackage tuitionPackages = (TuitionPackage) adapterView.getItemAtPosition(i);
                mTotalAmount.setText("RM "+tuitionPackages.getPrice());
            }

            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
                //Do nothing
            }
        });
 }

So as shown in the interface output below, I want to make the position 0, "Choose Tuition Package". So we can make a validation right? where when the user did not pick any tuition package, it will toast a message, "Please choose tuition package." enter image description here

TuitionPackage class coding:-

public class TuitionPackage implements Serializable {

private String packageStatus;
private String academicLevel;
private String subjects;
private String price;

public TuitionPackage() {
    this.packageStatus = "";
    this.academicLevel = "";
    this.subjects = "";
    this.price = "";
}

public String getPackageStatus() {
    return packageStatus;
}

public void setPackageStatus(String packageStatus) {
    this.packageStatus = packageStatus;
}

public String getAcademicLevel() {
    return academicLevel;
}

public void setAcademicLevel(String academicLevel) {
    this.academicLevel = academicLevel;
}

public String getSubjects() {
    return subjects;
}

public void setSubjects(String subjects) {
    this.subjects = subjects;
}

public String getPrice() {
    return price;
}

public void setPrice(String price) {
    this.price = price;
}
}
Abhinav Suman
  • 940
  • 1
  • 9
  • 29
Daisy
  • 527
  • 1
  • 5
  • 14

1 Answers1

1

Add your default value first to tuitionPackages list.

     ArrayList<TuitionPackage> tuitionPackages = new ArrayList<>();
     TuitionPackage defaultTutionPack = new TuitionPackage();

     tutionPackages.add(defaultTutionPack )
     //after that add other values
     tutionPackages.addAll(mAdvertisement.getTuitionPackages())
PushpikaWan
  • 2,437
  • 3
  • 14
  • 23
  • @Daisy I think you need to update that value set a part for the spinner as well. It is not included here ? – PushpikaWan Oct 31 '18 at 17:19
  • Im using PackageSpinnerAdapter, sir. I dont really get, why should I add other values? Because all data that will display inside the spinner, i get from the firebase database... – Daisy Oct 31 '18 at 17:22
  • If u want to add default value add it to firebase. How you create this" AcademicLevel: SPM, Subjects(s)....... " do you concat string ? – PushpikaWan Oct 31 '18 at 17:27
  • ArrayList tuitionPackages = mAdvertisement.getTuitionPackages(); TuitionPackage defaultTutionPack = new TuitionPackage(); tuitionPackages.add(defaultTutionPack); tuitionPackages.add(0, "Choose Tuition Package"); tuitionPackages.addAll(mAdvertisement.getTuitionPackages()); – Daisy Oct 31 '18 at 17:32
  • I want to make it like this sir, at position 0, will be display "Choose Tuition Package." – Daisy Oct 31 '18 at 17:33
  • @Daisy can u post PackageSpinnerAdapter class as well ? there may be some logic u need to change. And "tuitionPackages.add(0, "Choose Tuition Package");" will provide compiler error – PushpikaWan Oct 31 '18 at 17:34
  • Let us [continue this discussion in chat](https://chat.stackoverflow.com/rooms/182889/discussion-between-daisy-and-lucefer). – Daisy Oct 31 '18 at 17:37