Spinner spinner, spinner2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_check_box_tuts);
spinner = (Spinner)findViewById(R.id.spinner1);
spinner2 = (Spinner)findViewById(R.id.spinner2);
spinner.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> v, View arg1, int arg2,
long arg3) {
switch(v.getId()){
case R.id.spinner1:
if(spinner.getSelectedItemPosition() == 1){
//what goes here??
break;
}
}
}
就像我的第一个微调器列表是国家:USA,JAPAN等。所以在选择USA之后,我的第二个微调器将能够获得美国州阵列表..
我使用我的新手逻辑尝试这样思考:将第二个微调器设置为View.GONE,然后如果让我们选择USA,则显示spinner2它单独携带状态..但如果我有60个国家,然后我必须有60个旋转器,这很有趣所以帮助我:D
答案 0 :(得分:0)
不是为每个国家/地区实例创建Spinner
,而是保持相同的Spinner
,并在从您的第一个Spinner
中选择一个值时替换存储在其中的数据
ArrayAdapter.createFromResource()和Spinner.setAdapter()。 Here是使用这两个调用的示例。
在第一个选项中选择一个选项之前,不要隐藏第二个Spinner
,而是考虑在第一个Spinner
中选择默认选项,并使用匹配数据填充第二个选项。在您的示例中,USA将是一个很好的默认选择。