Skip to content Skip to sidebar Skip to footer

Two Linked Spinners Not Saving As Shared Preferences

I am able to save one spinner as shared preferences using Spinner not saving as Shared/Saved Preference. However I need multiple spinners to be interlinked and I am having issues w

Solution 1:

If the code for both spinners is in the same class, than you're completely messing the spinner and adapter properties. Why not just create two variables for different spinners and two different adapters?

The onItemSelected() method of your first spinner is wrong. First you point the variable to the second spinner, set an adapter for it and lastly you disable it - I've really no idea what's your intention behind this. Do you want to reuse the same Spinner and populate it with different data (thus different meaning), or you have two separate Spinner views?

Assuming you have two different Spinners, I'd do something like this (code is still not clear enough, but use it as a starting point):

// initialize Exercise spinner
spinnerExercise = (Spinner)findViewById(R.id.spnMondayExercise);
adapterExercise = ArrayAdapter.createFromResource(this, R.array.Exercise, android.R.layout.simple_spinner_dropdown_item);
      adapterExercise.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerExercise.setAdapter(adapterExercise);

// initialize Duration spinner
spinnerDuration = (Spinner)findViewById(R.id.spnMondayDuration); 
adapterDuration = ArrayAdapter.createFromResource(this, R.array.Duration, android.R.layout.simple_spinner_dropdown_item);
adapterDuration.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerDuration.setAdapter(adapterDuration);

// disable by default until  an exercise is selected
spinnerDuration.setEnabled(false);


spinnerExercise.setOnItemSelectedListener(newAdapterView.OnItemSelectedListener() {

    @OverridepublicvoidonItemSelected(AdapterView<?> parent, View view, position, long id) {
        longitem= parent.getItemIdAtPosition(position);
        if (item == 0){
            monExc = 0;
            spinnerDuration.setEnabled(true);
        }
        ........
    }
}

spinnerDuration.setOnItemSelectedListener(newAdapterView.OnItemSelectedListener() {

    @OverridepublicvoidonItemSelected(AdapterView<?> parent, View view, int position, long id) {
         longitem= parent.getItemIdAtPosition(position);
        if (item == 0){
            monDur = 0;
        }
        elseif (item ==1)
        {
            monDur = .16;
        }
        elseif (item ==2)
        {
            monDur = .33;
        }
        ......
    }
}

Post a Comment for "Two Linked Spinners Not Saving As Shared Preferences"