Olá pessoal, estou chegando agora no guj apesar de consultar muitas vezes!
Estou fazendo um checklist pre definido salvo no banco, porem não consigo atualizar o checkbox marcado para o banco de dados. Segue o codigo, fiz o teste de debug que sempre dar erro em uma parte que deixei comentado abaixo, ele ativa uma exceçao. Nao consigo achar uma solucao que funcione no meu código. Agredeço desde ja a todos!
public class MainActivity extends AppCompatActivity {
EditText codigoTarefa;
Button btnSalvar;
CheckBox tarefaChBox;
TextView nomeTarefa;
ListView listTarefas;
BancoDados db = new BancoDados(this);
Tarefa t = new Tarefa();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
codigoTarefa = findViewById(R.id.codigoTarefa);
btnSalvar = findViewById(R.id.btnSalvar);
tarefaChBox = findViewById(R.id.tarefaChBox);
nomeTarefa = findViewById(R.id.nomeTarefa);
if (db.listaTodasTarefas().size() == 0) {
db.addTarefa(new Tarefa("Tarefa1", 0));
db.addTarefa(new Tarefa("Tarefa2", 0));
db.addTarefa(new Tarefa("Tarefa3", 0));
}
btnSalvar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
/**Esta parte é que esta dando erro quando chega aqui
nao continua depois daqui**/
Boolean checkTarefa = tarefaChBox.isChecked();
for (int i = 0; i <= 3; i++) {
t = db.selecionarTarefa(i);
/**Caso o checkbox seja marcado como ele
atualiza o banco preenchendo banco para 1**/
if (checkTarefa.booleanValue() == true) {
db.atualizaTarefa(new Tarefa(i, t.getNometarefa(), 1));
} else {
db.atualizaTarefa(new Tarefa(i, t.getNometarefa(), 0));
}
}
}
});
listTarefas = findViewById(R.id.listaTarefa);
ArrayAdapter adapter = new TarefaAdapter(this, listarTarefas());
listTarefas.setAdapter(adapter);
private ArrayList<Tarefa> listarTarefas() {
ArrayList<Tarefa> tarefas = new ArrayList<Tarefa>();
for (int i = 1; i <= 3; i++) {
t = db.selecionarTarefa(i);
//Exibir tarefas no listView
tarefas.add(new Tarefa(t.getNometarefa(), t.getTarefa()));
}
return tarefas;
}
}