如何使用多个Spinners?

时间:2016-01-25 19:49:56

标签: android

我需要使用3个Spinners,这意味着如果选择了Spinner编号1中的一个项目,则微调器编号2将变为可见,如果选择了Spinner编号1中的另一个项目,则旋转器编号3将变为可见,并且数字2不可见,为了做到这一点,我需要使用3个ArrayAdapter,每个一个?或者我可以使用一个ArrayAdapter吗?任何帮助将非常感激

2 个答案:

答案 0 :(得分:0)

Adapter对象充当AdapterView与该视图的基础数据之间的桥梁。

如果要向所有三个Spinners显示相同的数据,那么您可以为旋转器使用一个适配器,否则需要为每个旋转器创建单独的适配器。

答案 1 :(得分:0)

ArrayAdapter表示'元素数组的适配器'。不是'一系列适配器'。如果您想使用3个微调器,则必须使用3个适配器。

final Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
final Spinner spinner2 = (Spinner) findViewById(R.id.spinner1); // invisible by default
final Spinner spinner3 = (Spinner) findViewById(R.id.spinner1); // invisible by default

spinner1.setAdapter(adapter1);
spinner2.setAdapter(adapter2);
spinner3.setAdapter(adapter3);

spinner1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        if(position == 0) {
            spinner2.setVisibility(View.VISIBLE);
        } else if(position == 1) {
            spinner3.setVisibility(View.VISIBLE);
        }
    }
});  //like this for all the three