我目前有与试图填充基于第一选择第二微调的问题。
我的第一个微调将有一些像在下拉以下内容:
选项1选项2选项
然后下面有另一种微调:
我只想选项1是特殊的,这意味着,当用户拿起选项1,
所述第二旋转器将显示:
SPEC1
如果用户选择选项2或2选项然后他们显示此:
SPEC1 SPEC2 SPEC3。
你可能看到我在获得。 只有选项1选择应该有第二微调独特的选择。
这里是我的代码的onCreate到目前为止:
// 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.
这里是我处理完第一个微调选择代码:
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;
}
}
如果任何人都可以点我在正确的方向或者可能告诉我,我要去的地方错了,我会非常感激。 再次感谢你!