0

I'm doing a kind of button that decrease and increase a number, but i need 16 individual numbers, and after i need to do a calculation with the numbers. I have a code to decrease, increase and calculate this numbers, but i need to pass the numbers to the methodResult. I can't pass parameter per parameter because i believe that this isn't produtive and would spend processing, seeing that this application is developed for android.

public class TaxasFragment extends Fragment {
    //Upward i have some variable declarations and etc etc...
    //Decrease button function
    int contador = 0;
    while(contador < 16) {
        buttonsDiminuir.get(contador).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                switch (view.getId()) {
                    case R.id.botao_diminuir:
                        if(valorExibido[0] > 0) {
                            valorExibido[0]--;
                            String textoExibido = "" + valorExibido[0];
                            buttonsExibir.get(0).setText(textoExibido);
                        }
                        break;
                    case R.id.botao_diminuir2:
                        if(valorExibido[1] > 0) {
                            valorExibido[1]--;
                            String textoExibido2 = "" + valorExibido[1];
                            buttonsExibir.get(1).setText(textoExibido2);
                        }
                        break;
                    case R.id.botao_diminuir3:
                        if(valorExibido[2] > 0) {
                            valorExibido[2]--;
                            String textoExibido3 = "" + valorExibido[2];
                            buttonsExibir.get(2).setText(textoExibido3);
                        }
                        break;
                    case R.id.botao_diminuir4:
                        if(valorExibido[3] > 0) {
                            valorExibido[3]--;
                            String textoExibido4 = "" + valorExibido[3];
                            buttonsExibir.get(3).setText(textoExibido4);
                        }
                        break;
                    case R.id.botao_diminuir5:
                        if(valorExibido[4] > 0) {
                            valorExibido[4]--;
                            String textoExibido5 = "" + valorExibido[4];
                            buttonsExibir.get(4).setText(textoExibido5);
                        }
                        break;
                    case R.id.botao_diminuir6:
                        if(valorExibido[5] > 0) {
                            valorExibido[5]--;
                            String textoExibido6 = "" + valorExibido[5];
                            buttonsExibir.get(5).setText(textoExibido6);
                        }
                        break;
                    case R.id.botao_diminuir7:
                        if(valorExibido[6] > 0) {
                            valorExibido[6]--;
                            String textoExibido7 = "" + valorExibido[6];
                            buttonsExibir.get(6).setText(textoExibido7);
                        }
                        break;
                    case R.id.botao_diminuir8:
                        if(valorExibido[7] > 0) {
                            valorExibido[7]--;
                            String textoExibido8 = "" + valorExibido[7];
                            buttonsExibir.get(7).setText(textoExibido8);
                        }
                        break;
                    case R.id.botao_diminuir9:
                        if(valorExibido[8] > 0) {
                            valorExibido[8]--;
                            String textoExibido9 = "" + valorExibido[8];
                            buttonsExibir.get(8).setText(textoExibido9);
                        }
                        break;
                    case R.id.botao_diminuir10:
                        if(valorExibido[9] > 0) {
                            valorExibido[9]--;
                            String textoExibido10 = "" + valorExibido[9];
                            buttonsExibir.get(9).setText(textoExibido10);
                        }
                        break;
                    case R.id.botao_diminuir11:
                        if(valorExibido[10] > 0) {
                            valorExibido[10]--;
                            String textoExibido11 = "" + valorExibido[10];
                            buttonsExibir.get(10).setText(textoExibido11);
                        }
                        break;
                    case R.id.botao_diminuir12:
                        if(valorExibido[11] > 0) {
                            valorExibido[11]--;
                            String textoExibido12 = "" + valorExibido[11];
                            buttonsExibir.get(11).setText(textoExibido12);
                        }
                        break;
                    case R.id.botao_diminuir13:
                        if(valorExibido[12] > 0) {
                            valorExibido[12]--;
                            String textoExibido13 = "" + valorExibido[12];
                            buttonsExibir.get(12).setText(textoExibido13);
                        }
                        break;
                    case R.id.botao_diminuir14:
                        if(valorExibido[13] > 0) {
                            valorExibido[13]--;
                            String textoExibido14 = "" + valorExibido[13];
                            buttonsExibir.get(13).setText(textoExibido14);
                        }
                        break;
                    case R.id.botao_diminuir15:
                        if(valorExibido[14] > 0) {
                            valorExibido[14]--;
                            String textoExibido15 = "" + valorExibido[14];
                            buttonsExibir.get(14).setText(textoExibido15);
                        }
                        break;
                    case R.id.botao_diminuir16:
                        if(valorExibido[15] > 0) {
                            valorExibido[15]--;
                            String textoExibido16 = "" + valorExibido[15];
                            buttonsExibir.get(15).setText(textoExibido16);
                        }
                        break;
                }
            }
        });
        contador++;
    }

    //Increase button function
    int contador2 = 0;
    while(contador2 < 16) {
        buttonsAumentar.get(contador2).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                switch (view.getId()) {
                    case R.id.botao_aumentar:
                        valorExibido[0]++;
                        String textoExibido = "" + valorExibido[0];
                        buttonsExibir.get(0).setText(textoExibido);
                        break;
                    case R.id.botao_aumentar2:
                        valorExibido[1]++;
                        String textoExibido2 = "" + valorExibido[1];
                        buttonsExibir.get(1).setText(textoExibido2);
                        break;
                    case R.id.botao_aumentar3:
                        valorExibido[2]++;
                        String textoExibido3 = "" + valorExibido[2];
                        buttonsExibir.get(2).setText(textoExibido3);
                        break;
                    case R.id.botao_aumentar4:
                        valorExibido[3]++;
                        String textoExibido4 = "" + valorExibido[3];
                        buttonsExibir.get(3).setText(textoExibido4);
                        break;
                    case R.id.botao_aumentar5:
                        valorExibido[4]++;
                        String textoExibido5 = "" + valorExibido[4];
                        buttonsExibir.get(4).setText(textoExibido5);
                        break;
                    case R.id.botao_aumentar6:
                        valorExibido[5]++;
                        String textoExibido6 = "" + valorExibido[5];
                        buttonsExibir.get(5).setText(textoExibido6);
                        break;
                    case R.id.botao_aumentar7:
                        valorExibido[6]++;
                        String textoExibido7 = "" + valorExibido[6];
                        buttonsExibir.get(6).setText(textoExibido7);
                        break;
                    case R.id.botao_aumentar8:
                        valorExibido[7]++;
                        String textoExibido8 = "" + valorExibido[7];
                        buttonsExibir.get(7).setText(textoExibido8);
                        break;
                    case R.id.botao_aumentar9:
                        valorExibido[8]++;
                        String textoExibido9 = "" + valorExibido[8];
                        buttonsExibir.get(8).setText(textoExibido9);
                        break;
                    case R.id.botao_aumentar10:
                        valorExibido[9]++;
                        String textoExibido10 = "" + valorExibido[9];
                        buttonsExibir.get(9).setText(textoExibido10);
                        break;
                    case R.id.botao_aumentar11:
                        valorExibido[10]++;
                        String textoExibido11 = "" + valorExibido[10];
                        buttonsExibir.get(10).setText(textoExibido11);
                        break;
                    case R.id.botao_aumentar12:
                        valorExibido[11]++;
                        String textoExibido12 = "" + valorExibido[11];
                        buttonsExibir.get(11).setText(textoExibido12);
                        break;
                    case R.id.botao_aumentar13:
                        valorExibido[12]++;
                        String textoExibido13 = "" + valorExibido[12];
                        buttonsExibir.get(12).setText(textoExibido13);
                        break;
                    case R.id.botao_aumentar14:
                        valorExibido[13]++;
                        String textoExibido14 = "" + valorExibido[13];
                        buttonsExibir.get(13).setText(textoExibido14);
                        break;
                    case R.id.botao_aumentar15:
                        valorExibido[14]++;
                        String textoExibido15 = "" + valorExibido[14];
                        buttonsExibir.get(14).setText(textoExibido15);
                        break;
                    case R.id.botao_aumentar16:
                        valorExibido[15]++;
                        String textoExibido16 = "" + valorExibido[15];
                        buttonsExibir.get(15).setText(textoExibido16);
                        break;
                }
            }
        });
        contador2++;
    }
}
public void methodResult() {

        int totalPropriedadesExponenciais = valorBotao1 + valorBotao2 + valorBotao3 + valorBotao4 + valorBotao5 + valorBotao6 + valorBotao7 + valorBotao8 + valorBotao9 + valorBotao10 + valorBotao11 + valorBotao12;

        int taxasTotaisSemPeso = valorBotao1*5 + valorBotao2*10 + valorBotao3*15 + valorBotao4*25 + valorBotao5*10 + valorBotao6*15 + valorBotao7*25 + valorBotao8*50 + valorBotao9*5 + valorBotao10*25 + valorBotao11*40 + valorBotao12*15;

        int taxasTotaisExcessao = valorBotao13*5 + valorBotao14*10 + valorBotao15*15 + valorBotao16*25;
}
Jameson
  • 6,400
  • 6
  • 32
  • 53

1 Answers1

0

You should refactor your code to remove the switch statements:

private static final List<Integer> AUMENTAR_RESOURCES = ImmutableList.of(
    R.id.botao_aumentar,
    R.id.botao_aumentar2,
    R.id.botao_aumentar3,
    ...
);

private final View.OnClickListener aumentarListener =
    new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            final int index =
                AUMENTAR_RESOURCES.indexOf(view.getId());
            valorExibido[index]++;
            String textoExibido = "" + valorExibido[index];
            buttonsExibir.get(index).setText(textoExibido);
        }
    };

private void hookupButtons() {
    for (index = 0; index < AUMENTAR_RESOURCES.size(); index++) {
        buttonsAumentar.get(index)
            .setOnClickListener(aumentarListener);
    }
}
Jameson
  • 6,400
  • 6
  • 32
  • 53