有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓如何对Java中声明为开关的数组求和?

我不熟悉Java,并使用它构建了一个Android应用程序,我希望能够确定打开了多少个开关,但不确定如何对一系列开关求和。我目前有:

SS = new Switch[8];
SS[0] = getView().findViewById(R.id.switch1);
SS[1] = getView().findViewById(R.id.switch2);
SS[2] = getView().findViewById(R.id.switch3);
SS[3] = getView().findViewById(R.id.switch4);
SS[4] = getView().findViewById(R.id.switch5);
SS[5] = getView().findViewById(R.id.switch6);
SS[6] = getView().findViewById(R.id.switch7);
SS[7] = getView().findViewById(R.id.switch8);

submit = getView().findViewById(R.id.submitButton);

submit.setOnClickListener(new View.OnClickListener(){
    public void onClick (View v) {
        totalactive= IntStream.of(SS).sum();

将数组“SS”声明为全局类

多谢各位


共 (2) 个答案

  1. # 1 楼答案

    onClick内使用for each循环:

    totalactive = 0;
    for (Switch s : SS) {
        if (s.isChecked()) totalactive++;
    }
    
  2. # 2 楼答案

    到目前为止,所有的答案都很好!但是,你也可以用传统的方式:

    int totalactive = 0;
    
    for(int i = 0; i < SS.length; i++){
        if(SS[i].isChecked()){
            totalactive++;
        }
    }
    
    //Here's your result:
    Log.d("sumTotal", Integer.toString(totalactive));
    

    我打赌这很容易理解和理解。我希望这有帮助。快乐的编码