我想在Android中实现两个不同的微调器,微调器具有不同的数据集
这是带有年龄的微调器,它使用具有所有年龄范围(es 18-20、19-21 等)的已定义字符串数组。
<Spinner
android:id="@+id/spAge"
android:layout_width="match_parent"
android:layout_height="35dp"
android:entries="@array/age_array"
tools:listitem="@android:layout/simple_spinner_item/>
这是带有性别的微调器,仅显示男性和女性两个项目
<Spinner
android:id="@+id/spSex"
android:layout_width="match_parent"
android:layout_height="35dp"
android:entries="@array/sex_array"
tools:listitem="@android:layout/simple_spinner_item />
对于每个选定项,my 活动应将关联的选定项值设置为两个对象:
String selectedAge;
String selectedItem;
我看到的示例不包含多个微调器,其中设置了不同的项目和对所选项目的不同操作,我不知道如何解决问题。
编写
代码,如下所示,对所选项目执行不同的操作。
spinner1.setOnItemSelectedListener(this);
spinner2.setOnItemSelectedListener(this);
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
switch(arg0.getId()){
case R.id.spAge :
//Your Action Here.
break;
case R.id.spSex :
//Your Another Action Here.
break;
}
}
试试这个
ArrayAdapter<CharSequence> adapterAge;
ArrayAdapter<CharSequence> adapterSex;
String[] AgeArr = {"18-20", "19-21"};
String[] sexArr = {"male", "female"};
Spinner ageDrp =(Spinner)findViewById(R.id.spAge);
Spinner sex1Drp =(Spinner)findViewById(R.id.spSex);
adapterAge = new ArrayAdapter<CharSequence>(this,android.R.layout.simple_spinner_item,AgeArr);
adapterAge.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
ageDrp.setAdapter(adapterAge);
adapterSex= new ArrayAdapter<CharSequence>(this,android.R.layout.simple_spinner_item,sexArr);
adapterSex.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sexDrp.setAdapter(adapterSex);
String selectedAge = ageDrp.getSelectedItem().toString();
String selectedSex = sexDrp.getSelectedItem().toString();
System.out.println(selectedAge+" "+selectedSex);// check the output in logcat
尝试此方法
spinner1 = (Spinner) findViewById(R.id.spinner);
spinner2 = (Spinner) findViewById(R.id.highschoolspinner);
List<String> categories = new ArrayList<String>();
categories.add("Qualification");
categories.add("High School");
categories.add("Higher Secondary/PUC");
categories.add("Diploma");
categories.add("Degree");
categories.add("Master Degree");
List<String> list = new ArrayList<String>();
list.add("Plus One");
list.add("Plus Two");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.spinnertext, categories);
adapter.setDropDownViewResource(android.R.layout.select_dialog_item);
spinner.setAdapter(adapter);
ArrayAdapter<String> dataAdapter12 = new ArrayAdapter<String>(this,
R.layout.spinnertext, list);
dataAdapter12.setDropDownViewResource(android.R.layout.
simple_spinner_dropdown_item);
dataAdapter12.notifyDataSetChanged();
highschool.setAdapter(dataAdapter12)
我使用自定义适配器来加载您可以使用内置适配器的数据,例如
ArrayAdapter dataAdapter11 = new ArrayAdapter(this,
android.R.layout.simple_list_item_1, list);