问题
I am currently having an issue with trying to populate a second spinner based on the selection of the first.
My first spinner would have something like the following in the drop down:
Option1 Option2 Option3
Then there is another spinner below:
I only want Option1 to be special, meaning, when the user picks Options1,
the second spinner will display:
spec1
If the user selects Option2 or Option3 then they display this:
spec1 spec2 spec3.
You probably see what I'm getting at. Only if Option1 is chosen should there be a unique choice in the second spinner.
Here is my code for the onCreate so far:
// creating adapters for both spinners
ArrayAdapter<Grid> dataAdapter = new ArrayAdapter<Grid>(this,
android.R.layout.simple_spinner_item, gridArrayList);
//first drop down spinner here
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
gridSpinner.setAdapter(dataAdapter);
regions = getResources().getStringArray(R.array.regions_array);
defaultRegions = getResources().getStringArray(R.array.default_array);
final ArrayAdapter<String> regionAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, regions);
final ArrayAdapter<String> defaultAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, defaultRegions); //what should appear if user selected Option2 or Option3.
Here is my code for handling the First spinner selection:
gridSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v,
int position, long rowId)
{
gridSelect = gridSpinner.getItemAtPosition(position).toString();
Toast.makeText(LoginActivity.this, gridSelect, Toast.LENGTH_SHORT)
.show();
gridInteger = (int) gridSpinner.getItemIdAtPosition(position);
switch(gridInteger)
{
case 0:
regionSpinner.setAdapter(regionAdapter); //hint region adapter has spec1.
regionAdapter.notifyDataSetChanged();
break;
default:
regionSpinner.setAdapter(defaultAdapter);
regionAdapter.notifyDataSetChanged();
break;
}
}
If anyone could point me in the right direction or possibly tell me where I am going wrong I would very much appreciate it. Thank you again!
来源:https://stackoverflow.com/questions/11689709/based-on-a-certain-spinner-selection-populate-another-spinner