Enviar total de checkbox selecionados para outra classe

No método onClick(mostrado abaixo) eu implemento um contador que me informará a quantidade de checkBox selecionados(em tempo de execução). Eu preciso enviar este valor a um método da classe cálculo. No entanto, este método já possui parâmetros de entrada. E depois retorno o resultado do cálculo para este mesmo fragment.
Main:

    public class Main implements extends Fragment View.OnClickListener {
        public int qtdSelecionado = 0;
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View fase1frag = inflater.inflate(R.layout.fragment_fase1, container, false);
        
        checkBox1 = (CheckBox) fase1frag.findViewById(R.id.checkBox1);
        checkBox2 = (CheckBox) fase1frag.findViewById(R.id.checkBox2);
        checkBox3 = (CheckBox) fase1frag.findViewById(R.id.checkBox3);
        checkBox4 = (CheckBox) fase1frag.findViewById(R.id.checkBox4);

        checkBox1 .setOnClickListener(this);
        checkBox2 .setOnClickListener(this);
        checkBox3 .setOnClickListener(this);
        checkBox4 .setOnClickListener(this);
    }

    public void onClick(View view) {
        int auxQtdSelecionado = 0;
        if (checkBox1 .isChecked()) {
            auxQtdSelecionado++;
        }if (checkBox2 .isChecked()) {
            auxQtdSelecionado++;
        } if (checkBox3 .isChecked()) {
            auxQtdSelecionado++;
        } if (checkBox4 .isChecked()) {
            auxQtdSelecionado++;
        qtdSelecionado = auxQtdSelecionado;
        Log.i("Verifica qtd: ", String.valueOf(qtdSelecionado));
        Calculo calc = new Calculo();
        //param1 - esse é um parâmetro recebido de outro método;
        //param2 - esse é um parâmetro recebido de outro método;
        calc.calc(qtdSelecionado, param1, param2)
    }
}

Classe Cálculo:

 public class Calculo {
    
    public double calc (/*int qtdSelecionado*/, double vlrMin, double vlrMax) {
        double passo1 = ((vlrMin + vlrMax) / 2);
        double passo2 = (passo1 * 12);
        
        //Aqui é onde a qtd checkbox selecionados(em tempo de execução)
        //pelo usuário serão utilizados.
        double passo3 = (passo2 / qtdSelecionados);

        return passo3
    }
}

Fala Victor,

Você consegue explicar um pouco melhor? Os param1 e param2 do método calc, vem de onde? Ou o problema é que você quer passar o retorno do método calc para “alguém” fora do escopo do onClick?

Opa…

Resolvi meu problema, e de certa forma de um jeito simples.
Criei, na classe Calculadora, duas variáveis “static” que receberiam o valor dos parametros do método calc.
Aí foi só criar outro método, passando por parametro estes dois valores, mais a qtdSelecionado.

Simples, mas me tomou muito tempo.
Acredito que este modo que fiz é quase que uma “gambiarra”, mas funcionou.

1 curtida