简体   繁体   中英

Spinner duplication item error

How to remove duplicate data in spinner because when I select spinner again it will show duplication of data. Any solutions, please?

Like when click on bike. it shows detail of all bike on other spinner. then I select again from that spinner like bike or other item. It shows again bike detail. Information duplicate on other spinners which contains bike information.

For example when I click on bike it shows Honda yamaha suzuki other then I again click on Bike spinner it wil shows Honda yamaha suzuki other Honda yamaha suzuki other.

spinner.setOnItemSelectedListener(this);
    spinner1.setOnItemSelectedListener(this);
    spinner3.setOnItemSelectedListener(this);
    spinner4.setOnItemSelectedListener(this);
    // Spinner Drop down elements
    vehicle_type.add("Select vehicle Type");
    vehicle_type.add("Bike");
    vehicle_type.add("Car");
    vehicle_type.add("Cycle");
    select_model.add("Select a Model");
    select_make.add("Select a Make");
    year.add("Select a Year");

// Creating adapter for spinner

    // Drop down layout style - list view with radio button


    ArrayAdapter<String> vehicle_type_adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, vehicle_type);

    // Drop down layout style - list view with radio button
    vehicle_type_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    // attaching data adapter to spinner
    spinner.setAdapter(vehicle_type_adapter);

    ArrayAdapter<String> select_make_adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, select_make);

    select_make_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    // attaching data adapter to spinner
    spinner1.setAdapter(select_make_adapter);
    ArrayAdapter<String> model_adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, select_model);

    model_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    // attaching data adapter to spinner
    spinner4.setAdapter(model_adapter);
    ArrayAdapter<String> year_adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, year);

    year_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    // attaching data adapter to spinner
    spinner3.setAdapter(year_adapter);


}


@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    // On selecting a spinner item
    String item = parent.getItemAtPosition(position).toString();
   // String item1=spinner1.getItemAtPosition(position).toString();

    if(item=="Bike")
    {



        select_make.add("Honda");
        select_make.add("suzuki");
        select_make.add("sohrab");
        select_make.add("Yamaha");
        select_make.add("Other");
        select_model.add("100cc");
        select_model.add("125cc");
        select_model.add("70cc");
        select_model.add("150cc");
        select_model.add("Other");
        int i = 2000;
        int j = 1;
        String vt;
        String yearr;
        year.add("Year");
        for (i = 2000; i <= 2017; i++) {
            yearr = String.valueOf(i);
            year.add(yearr);

        }

        ArrayAdapter<String> year_adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, year);

        year_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        // attaching data adapter to spinner
        spinner3.setAdapter(year_adapter);
        ArrayAdapter<String> select_make_adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, select_make);

       select_make_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        // attaching data adapter to spinner
        spinner1.setAdapter(select_make_adapter);
        ArrayAdapter<String> model_adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, select_model);

        model_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        // attaching data adapter to spinner
        spinner4.setAdapter(model_adapter);
    }

just edit you code like this,....

if(item=="Bike")
{  //clear other spinner array list
   select_make.clear();
   select_model.clear();
   year.clear();

    select_make.add("Honda");
    select_make.add("suzuki");
    select_make.add("sohrab");
    select_make.add("Yamaha");
    select_make.add("Other");
    select_model.add("100cc");
    select_model.add("125cc");
    select_model.add("70cc");
    select_model.add("150cc");
    select_model.add("Other");
    int i = 2000;
    int j = 1;
    String vt;
    String yearr;
    year.add("Year");
    for (i = 2000; i <= 2017; i++) {
        yearr = String.valueOf(i);
        year.add(yearr);

    }

and after that why are you assigning adapter again?.. you don't need to do it... just stop coding further... setting adapter one time will enough

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM