我的Android程序中有5个Spinner
我还有我需要发送状态的方法和Spinner
例如:方法
public void Fix_Combo1(String N,[sppiner SP - ???])
{
switch (N)
{
case "AA":
SP.setSelection(0);
break;
case "BB":
SP.setSelection(1);
break;
case "CC":
SP.setSelection(2);
break;
default:
SP.setSelection(0);
}
}
例如:发送
Fix_Combo1(R1,Spiner SP ?);
怎么做?
答案 0 :(得分:1)
首先:您无法在String
声明中使用switch
。
关于String对象的
switch
语句是Java 1.7
中引入的新功能。不幸的是,大多数Android sdks都需要版本1.6
或1.5
。这就是为什么你不得不忘记这些结构的一段时间。
其次:如果您要发送Spinner
方法之一,只需发送Spinner
对象:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
Spinner sp1=(Spinner)findViewById(R.id.sp1);
Spinner sp2=(Spinner)findViewById(R.id.sp1);
Spinner sp3=(Spinner)findViewById(R.id.sp1);
Spinner sp4=(Spinner)findViewById(R.id.sp1);
//Send by name
Fix_Combo1(2, sp1);
// OR Send by Number
ArrayList<Spinner> sp_list=new ArrayList<Spinner>();
sp_list.add(sp1);
sp_list.add(sp2);
sp_list.add(sp3);
sp_list.add(sp4);
Fix_Combo1(2, sp_list.get(2));
}
private void Fix_Combo1(int N, Spinner SP ) {
switch (N)
{
case 1:
SP.setSelection(0);
break;
case 2:
SP.setSelection(1);
break;
case 3:
SP.setSelection(2);
break;
default:
SP.setSelection(0);
}
}