[RESOLVIDO] Ajuda com ListView

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

[code]setContentView(R.layout.cartoes);
CartaoDAO dao = new CartaoDAO(this);
List lstCartoes = dao.listar();

ListView lst = (ListView)findViewById(R.id.lista);

ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, lstCartoes);
lst.setAdapter(adapter);[/code]

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?

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.

Ou cria um adapter pra ele…

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

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

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.

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.

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

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

Qual IDE você esta usando?

[quote=alexpassos]Que componente é esse ListView… porque conheço ele no Visual Studio .NET

Qual IDE você esta usando?[/quote]

Isso é Android.