Tenho este banco
String carroSQL = "CREATE TABLE Carro (carro_id INTEGER PRIMARY KEY, carro_nome TEXT NOT NULL);";
String carroPerguntaSQL = "CREATE TABLE CarroPergunta (cpergunta_id INTEGER PRIMARY KEY, cpergunta TEXT NOT NULL);";
String carroRespostaSQL = "CREATE TABLE CarroResposta (cresposta_id INTEGER PRIMARY KEY," +
"idCarro INTEGER REFERENCES Carro(carro_id)," +
"idPergunta INTEGER REFERENCES CarroPergunta(cpergunta_id)," +
"cresposta_desc TEXT, cresposta_obs TEXT);";
String carroHoraDataSQL = "CREATE TABLE DiaHora(dh_id INTEGER PRIMARY KEY, dia TEXT, hora TEXT, km TEXT, " +
"idCarro INTEGER REFERENCES Carro);";
E quero que ele me traga apenas as datas de determinado carro, então fiz isso:
public List<RespostaCarro> buscaData(Long idCar) {
List<RespostaCarro> respostas = new ArrayList<>();
Cursor c = dao.getReadableDatabase().rawQuery("SELECT * FROM DiaHora JOIN Carro ON idCarro=carro_id WHERE idCarro=?",new String[]{idCar.toString()});
while (c.moveToNext()){
RespostaCarro r = new RespostaCarro();
r.setIdCarro(c.getLong(c.getColumnIndex("idCarro")));
r.setData(c.getString(c.getColumnIndex("dia")));
r.setHora(c.getString(c.getColumnIndex("hora")));
r.setKm(c.getString(c.getColumnIndex("km")));
respostas.add(r);
}c.close();
return respostas;
}
private void carregaListaInspecoes() {
pCarroDAO dao = new pCarroDAO(ListaInspecoesActivity.this);
Long idCar = carro.getId();
List<RespostaCarro> respostaCarros = dao.buscaData(idCar);
dao.close();
listaRespostas = findViewById(R.id.lista_insp);
ArrayAdapter<RespostaCarro> adapter = new ArrayAdapter<RespostaCarro>(this, android.R.layout.simple_list_item_1, respostaCarros);
listaRespostas.setAdapter(adapter);
}
Porém ele esta dando como objeto nulo, não sei como fazer.