我有3个微调器
<string-array name="country_array">
<item>India</item>
<item>Pakistan</item>
<item>Srilanka</item>
</string-array>
<string-array name="city_array">
<item>Bangalore</item>
<item>Hyderabad</item>
<item>Delhi</item>
</string-array>
<string-array name="area_array">
<item>Hitech City</item>
<item>Jubli Hills</item>
<item>Banjara Hills</item>
</string-array>
如何制作下拉菜单?当选择印度时,它应该填充班加罗尔,海德拉巴和德里,当选择海德拉巴时,它应该填充hitechcity,jublihills等
提前致谢
答案 0 :(得分:1)
您可以将特定数组设置为第一个微调器,然后使用函数检查在微调器上选择的字符串,并将另一个数组提供给第二个微调器,如下所示:
String []ejemplos= { "option1", "option2", "option3"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, ejemplos);
Sp1.setAdapter(adapter);
Sp1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
String item = (String)parent.getItemAtPosition(pos);
if(item.matches("option 1")){
con=1;
checar();
}else{
if(item.matches("option 2")){
con=2;
checar();
}
}
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
然后,填充第二个微调器(sp2)的函数,如下所示:
void checar(){
if(con==1){
String []ejemplos2= { "option 1", "option 2", "option 3"};
ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, ejemplos2);
Sp2.setAdapter(adapter2);
}else{
if(con==2){
String []ejemplos2= { "opcion 1"};
ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, ejemplos2);
Sp2.setAdapter(adapter2);
}else{
if(con==3){
String []ejemplos2= { "opcion 1", "opcion 2", "opcion 3"};
ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, ejemplos2);
Sp2.setAdapter(adapter2);
}
}
}
}//fin checar
并向第二个微调器添加一个监听器,如下所示:
Sp2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
con2 = (String)parent.getItemAtPosition(pos);
if(con2=="opcion 1" && con==1){
//do something
}else{
if(con2=="opcion 2" && con==1){
//do something
}
}
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
在第二个微调器上,你可以再次调用该函数并将字符串设置为第三个微调器,并做任何你想做的事情!希望这对你有用!
见啊!