Boa noite,
estou fazendo um app de controle dos meus gastos, porem estou com um problema na hora de passar os dados do banco de dados para a ArrayList. Aparentemente a ArrayList esta carregando comente o ultimo item cadastrado no banco de dados, conforme a figura abaixo. Se que ele esta inserindo corretamente os dados no SQLite por que os valores quando vou somar estão sendo mostrado corretamente, então acho que e na ArrayList.
Aqui está a minha classe principal
DAO_Caixa dao_caixa = new DAO_Caixa(this);
ArrayList lista_entrada = new ArrayList();
lista_entrada=dao_caixa.getListaEntradas();
ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,lista_entrada);
listaEntrada.setAdapter(adapter);
String totalEntrada = dao_caixa.getTotalEntrada();
totalEntradas = (TextView) findViewById(R.id.totalEntrada);
totalEntradas.setText(totalEntrada);
A seguir a classe que passa para o formato String
public ArrayList getListaEntradas(){
ArrayList lista_entrada = new ArrayList();
dao = new DAO();
controladorBanco = new ControladorBanco(context);
ArrayList lista_dados = controladorBanco.getListaEntrada();
for(int count = 0; count<lista_dados.size();count++){
String frase = lista_dados.get(count).getDescricao() + " | R$" +
lista_dados.get(count).getValor() + " | " +
lista_dados.get(count).getData();
lista_entrada.add(frase);
}
return lista_entrada;
}
E finalmente a classe que busca os itens no banco de dados
public ArrayList<DAO> getListaEntrada() { dao = new DAO(); ArrayList<DAO> lista = new ArrayList<DAO>(); db = criarBanco.getReadableDatabase(); Cursor cursor = db.query(true,criarBanco.getTabela(),new String[]{criarBanco.NOME_PRODUTO, criarBanco.VALOR, criarBanco.DATA},"tipo = ?",new String[]{"ENTRADA"},null,null,null,null); if(cursor.moveToFirst()){ do { dao.setDescricao(cursor.getString(0)); dao.setValor(cursor.getDouble(1)); dao.setData(cursor.getString(2)); lista.add(dao); }while ((cursor.moveToNext())); } db.close(); return lista; }