0
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;
        }
        }
    }

就像我的第一个微调器列表是国家:美国,日本等。因此,例如,在选择美国之后,我的第二个微调器将能够获得美国状态数组的列表..

我使用我的新手逻辑尝试这样思考:将第二个微调器设置为 View.GONE,然后如果选择美国,则显示它单独携带各州的微调器2。但如果我有 60 个国家/地区,那么我必须有 60 个微调器,这很有趣,所以请帮助我 :D

4

1 回答 1

0

不要Spinner为每个国家/地区实例创建一个,而是保持相同,并在从您的第一个值中选择一个值时替换 Spinner存储在其中的数据ArrayAdapter.createFromResource()Spinner.setAdapter()是使用这两个调用的示例。Spinner

与其在第一个中选择一个选项之前隐藏您的第二个,不如Spinner考虑在第一个中使用默认选择Spinner,并使用匹配数据填充第二个。在您的示例中,美国将是一个很好的默认选择。

于 2012-10-14T11:33:24.750 回答