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; }
