Java 父子微调器
我创建了一个类,并在布局中添加了两个微调器 目标:如果从第一个微调器中选择任何项目,将更改第二个微调器的内容 我是从Java 父子微调器,java,android,spinner,Java,Android,Spinner,我创建了一个类,并在布局中添加了两个微调器 目标:如果从第一个微调器中选择任何项目,将更改第二个微调器的内容 我是从onCreate()(onItemSelected(spinnercategoryl,spinnerEnterprisel,x,I);)调用的。。问题是,当我从第一个项目中选择任何项目时,它会更改第二个项目的内容,但是如果我需要从第二个项目中选择任何项目,那么它将不会显示为选定项目 public void onItemSelected(AdapterView<?> pa
onCreate()(onItemSelected(spinnercategoryl,spinnerEnterprisel,x,I);)调用的。
。问题是,当我从第一个项目中选择任何项目时,它会更改第二个项目的内容,但是如果我需要从第二个项目中选择任何项目,那么它将不会显示为选定项目
public void onItemSelected(AdapterView<?> parent, View view, int pos,
long id) {
// TODO Auto-generated method stub
Spinner spinnerEnterprisel = (Spinner) findViewById(R.id.spinner_enterprise_folding_inserter);
Spinner spinnercategoryl = (Spinner) findViewById(R.id.spinner_categories);
switch (spinnercategoryl.getSelectedItemPosition()) {
case 0:
ArrayAdapter<CharSequence> adapterDatal = ArrayAdapter
.createFromResource(this,
R.array.enterprise_folding_inserter,
android.R.layout.simple_spinner_item);
adapterDatal
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerEnterprisel.setAdapter(adapterDatal);
break;
case 1:
ArrayAdapter<CharSequence> adapterData1 = ArrayAdapter
.createFromResource(this, R.array.enterprise_sorters,
android.R.layout.simple_spinner_item);
adapterData1
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerEnterprisel.setAdapter(adapterData1);
break;
case 2:
ArrayAdapter<CharSequence> adapterData2 = ArrayAdapter
.createFromResource(this, R.array.Softwares,
android.R.layout.simple_spinner_item);
adapterData2
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerEnterprisel.setAdapter(adapterData2);
break;
case 3:
ArrayAdapter<CharSequence> adapterData3 = ArrayAdapter
.createFromResource(this, R.array.workflow,
android.R.layout.simple_spinner_item);
adapterData3
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerEnterprisel.setAdapter(adapterData3);
break;
}
spinnerEnterprisel.setOnItemSelectedListener(enterprise.this);
spinnercategoryl.setOnItemSelectedListener(enterprise.this);
// Spinner spinnerEnterprisel1 = (Spinner)
// findViewById(R.id.spinner_enterprise_folding_inserter);
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}`
public void未选中(AdapterView父视图、视图、内部位置、,
长id){
//TODO自动生成的方法存根
Spinner Spinner EnterpriseEL=(Spinner)findViewById(R.id.Spinner\u enterprise\u folding\u inserter);
Spinner Spinner Categoryl=(Spinner)findViewById(R.id.Spinner\U类别);
开关(spinnercategoryl.getSelectedItemPosition()){
案例0:
ArrayAdapter adapterDatal=ArrayAdapter
.createFromResource(此,
R.array.enterprise\u折叠\u插入器,
android.R.layout.simple\u微调器(项目);
adapterDatal
.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
喷丝头.设置适配器(adapterDatal);
打破
案例1:
ArrayAdapter适配器数据1=ArrayAdapter
.createFromResource(这是R.array.enterprise_分拣机,
android.R.layout.simple\u微调器(项目);
适配器数据1
.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
喷丝头设置适配器(适配器数据1);
打破
案例2:
ArrayAdapter适配器数据2=ArrayAdapter
.createFromResource(这个,R.array.Softwares,
android.R.layout.simple\u微调器(项目);
适配器数据2
.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
喷丝头.设置适配器(适配器数据2);
打破
案例3:
ArrayAdapter适配器数据3=ArrayAdapter
.createFromResource(此,R.array.workflow,
android.R.layout.simple\u微调器(项目);
适配器数据3
.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
喷丝头。设置适配器(适配器数据3);
打破
}
spinnerEnterprisel.setOnItemSelectedListener(enterprise.this);
spinnercategoryl.setOnItemSelectedListener(enterprise.this);
//喷丝器喷丝器EnterpriseL1=(喷丝器)
//findViewById(R.id.spinner\u enterprise\u folding\u inserter);
}
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}`
您已经为两个微调器设置了相同的侦听器。无论何时在任一微调器中进行选择,“子”微调器都将重置。只需删除设置“子”微调器的OnItemSelectedListener的所有代码即可:
spinnerEnterprisel.setOnItemSelectedListener(enterprise.this)
现在“child”微调器将保留您选择的选项。非常感谢,您说得对。:)它现在运转良好。 spinnerEnterprisel.setOnItemSelectedListener(enterprise.this);