Tenho um arraylist que traz dados do banco para mim atualizando meu textview com perguntas já cadastradas, porem ele não está parando... ele fica num loop infinito sem dar erro.
public List<Carro> buscaPergunta() {
List<Carro> carros = new ArrayList<>();
Cursor c = dao.getReadableDatabase().rawQuery("SELECT carro_pergunta FROM Carro", null);
while (c.moveToNext())
carros.add(criaPerguntaCarro(c));
c.close();
return carros;
}
private void atualizaFormularioComPerguntaAtual() {
CarroDAO dao = new CarroDAO(InspecaoActivity.this);
List<Carro> carros = dao.buscaPergunta();
if (indicePerguntaAtual < carros.size()) {
perguntaAtual = carros.get(indicePerguntaAtual);
campoPergunta = findViewById(R.id.pergunta);
campoPergunta.setText(perguntaAtual.getPergunta());
} else {
Toast.makeText(InspecaoActivity.this, "Não há perguntas!", Toast.LENGTH_SHORT).show();
finish();
}
}
private void botaoProximo() {
proximaPergunta = findViewById(R.id.proximaPergunta);
proximaPergunta.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Carro carro = new Carro();
if (!c.isChecked()&&!nc.isChecked()&&!na.isChecked()){
Toast.makeText(InspecaoActivity.this, "Preencha os campos corretamente", Toast.LENGTH_SHORT).show();
}
if(c.isChecked()){
carro.setResposta("Conforme");
}else if(nc.isChecked()){
carro.setResposta("Não conforme");
}else{
carro.setResposta("N/A");
}
carro.setPergunta(campoPergunta.getText().toString().trim());
responde();
CarroDAO dao = new CarroDAO(InspecaoActivity.this);
dao.insereResposta(carro);
}
});
}