关于发送控制微调器到我的方法的咨询

时间:2016-07-18 14:21:51

标签: android android-spinner

我的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 ?);

怎么做?

1 个答案:

答案 0 :(得分:1)

首先:您无法在String声明中使用switch

  关于String对象的

switch语句是Java 1.7中引入的新功能。不幸的是,大多数Android sdks都需要版本1.61.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);
    }
}