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
}
}