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