1
It is an application to calculate IMC, save the data and display them in another interface. However, when I click the button to perform the calculation and display, the program crasha. Other classes only serve to maintain the Sqlite database.
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button botao = (Button) findViewById(R.id.btnCalcular);
final TextView txtIdade = (TextView) findViewById(R.id.txtIdade);
final int[] skIdadeNewValue = {0};
SeekBar skIdade = (SeekBar) findViewById(R.id.skIdade);
skIdade.setOnSeekBarChangeListener(new
SeekBar.OnSeekBarChangeListener() {
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
skIdadeNewValue[0] = progress;
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
Toast.makeText(MainActivity.this, "Idade é = " +
skIdadeNewValue[0],
Toast.LENGTH_SHORT).show();
txtIdade.setText("Idade = " + skIdadeNewValue[0]);
}
});
botao.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
PessoaCtr crud = new PessoaCtr(getBaseContext());
RadioButton edtSexo = null;
String estudante = null;
String idoso = null;
String empregado = null;
String sexo = null;
CheckBox chkEstudante;
CheckBox chkEmpregado;
CheckBox chkIdoso;
RadioButton rbMasc;
RadioButton rbFem;
ToggleButton tgConfirma;
EditText result;
chkEstudante = (CheckBox) findViewById(R.id.chkEstudante);
chkEmpregado = (CheckBox) findViewById(R.id.chkEmpregado);
chkIdoso = (CheckBox) findViewById(R.id.chkIdoso);
rbMasc = (RadioButton) findViewById(R.id.rbMasc);
rbFem = (RadioButton) findViewById(R.id.rbFem);
tgConfirma = (ToggleButton) findViewById(R.id.tgConfirma);
if (chkEstudante.isChecked() == true) {
Toast.makeText(getBaseContext(), "Estudante foi selecionado", Toast.LENGTH_SHORT).show();
estudante = chkEstudante.getText().toString();
}
if (chkEmpregado.isChecked() == true) {
Toast.makeText(getBaseContext(), "Empregado foi selecionado", Toast.LENGTH_SHORT).show();
empregado = chkEmpregado.getText().toString();
}
if (chkIdoso.isChecked() == true) {
Toast.makeText(getBaseContext(), "Idoso foi selecionado", Toast.LENGTH_SHORT).show();
idoso = chkIdoso.getText().toString();
}
if (rbMasc.isChecked() == true) {
Toast.makeText(getBaseContext(), "Masculino foi selecionado", Toast.LENGTH_SHORT).show();
edtSexo = (RadioButton) findViewById(R.id.rbMasc);
sexo = edtSexo.getText().toString();
}
if (rbFem.isChecked() == true) {
Toast.makeText(getBaseContext(), "Feminino foi selecionado", Toast.LENGTH_SHORT).show();
edtSexo = (RadioButton) findViewById(R.id.rbFem);
sexo = edtSexo.getText().toString();
}
if (tgConfirma.isChecked() == true) {
Toast.makeText(getBaseContext(), "Você curtiu o aplicativo", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getBaseContext(), "Você não curtiu o aplicativo", Toast.LENGTH_SHORT).show();
}
EditText edtNome = (EditText) findViewById(R.id.editNome);
EditText edtPeso = (EditText) findViewById((R.id.editPeso));
EditText edtAltura = (EditText) findViewById(R.id.editAltura);
EditText edtImc = (EditText) findViewById(R.id.imc);
SeekBar skIdade = (SeekBar) findViewById(R.id.skIdade);
int idadeInt = skIdadeNewValue[0];
int resultadoImc = Integer.parseInt(edtPeso.getText().toString()) * (Integer.parseInt(edtAltura.getText().toString())* Integer.parseInt(edtAltura.getText().toString()));
edtImc.setText(String.valueOf(resultadoImc));
chkEmpregado = (CheckBox) findViewById(R.id.chkEmpregado);
chkEstudante = (CheckBox) findViewById(R.id.chkEstudante);
chkIdoso = (CheckBox) findViewById(R.id.chkIdoso);
String nome = edtNome.getText().toString();
String peso = edtPeso.getText().toString();
String altura = edtAltura.getText().toString();
String stringidade = txtIdade.getText().toString();
String imc = edtImc.getText().toString();
String idade = txtIdade.toString();
String resultado = crud.insertPessoa(nome, peso, altura, sexo, idade, estudante, idoso, empregado, imc);
edtNome.setText("");
edtPeso.setText("");
edtAltura.setText("");
edtSexo.setText("");
txtIdade.setText("");
chkEstudante.setText("");
chkIdoso.setText("");
chkEmpregado.setText("");
edtImc.setText("");
Toast.makeText(getApplicationContext(), resultado, Toast.LENGTH_LONG).show();
}
});
}
}
I would be grateful if someone could help me, I’m starting in this area.
Could you share the source of the project on github? You’ve debugged to analyze on which line the problem happens?
– Luiz Lanza
You have to add in your question what appears in your logcat when you badge. There is no way to reproduce because you do not have enough code.
– viana
I just put the project there: https://github.com/nmp2605/androidIMC
– Nelson
Add what’s displayed in Logcat! makes it easier to help!
– Thiago Luiz Domacoski