[RESOLVIDO] Ajuda com ListView

8 respostas
P

Pessoal estou tentando preencher um listview com dados do banco
Estou usando esse código pra isso:

setContentView(R.layout.cartoes);
CartaoDAO dao = new CartaoDAO(this);
List<Cartao> lstCartoes = dao.listar();

ListView lst = (ListView)findViewById(R.id.lista);
        
ArrayAdapter<Cartao> adapter = new ArrayAdapter<Cartao>(this, android.R.layout.simple_list_item_1, lstCartoes);
lst.setAdapter(adapter);

Ele até traz o reigstro que eu tenho no banco, mas traz esse resultado: com.cartaofacil.model.Cartao@44eecc00
Eu queria listar o campo "Nome" na lista.
Como resolvo isso?

8 Respostas

C

O problema acontece porque você não está exibindo um atributo do seu objeto, mas sim, pedindo pra exibir o objeto em sí.

você pode implementar o método toString(); da classe Cartao para:

public void String toString(){
return this.nome; //ou o nome da propriedade
}

Assim quando for exibir o objeto em sí, o que você retornar desse método será exibido.

j0nny

Ou cria um adapter pra ele…

P

esse toString() eu crio na entidade cartão mesmo?
depois como fica esse trecho do código com essa mudança?

j0nny

paulinhopamec:
esse toString() eu crio na entidade cartão mesmo?
depois como fica esse trecho do código com essa mudança?

Por padrão, esse ArrayAdapter vai chamar o toString() da sua classe passa na lista que vc passa no adapter.
Muda apenas o toString() da sua classe cartão.

dsystem

Olá paulinhopamec tudo bem?

Então, o método toString() você cria depois dos seus getters e setters dentro da sua classe Cartao. Ele será sobreescrito e assim você consegue pegar o valor que deseja.

P

É isso mesmo, funcionou aqui, obrigado a todos pela ajuda

A

Que componente é esse ListView… porque conheço ele no Visual Studio .NET

Qual IDE você esta usando?

Marky.Vasconcelos

alexpassos:
Que componente é esse ListView… porque conheço ele no Visual Studio .NET

Qual IDE você esta usando?

Isso é Android.

Criado 22 de julho de 2011
Ultima resposta 23 de jul. de 2011
Respostas 8
Participantes 6