Question: I'm trying to populate a ListView with an ArrayList.
The ArrayList contains Usuarios Objects. Usuario has two fields (String nombre, String edad).
This is my code:

```
ListView listview = (ListView) findViewById(R.id.ListView1);
ArrayList<Usuario> listaUsuarios = (ArrayList<Usuario>) dao.showAll();

ArrayAdapter<Usuario> adapter = new ArrayAdapter<Usuario>(this, android.R.layout.simple_list_item_1, listaUsuarios);
listview.setAdapter(adapter);

```

When I test my Android App, it looks like this:

![enter image description here](https://i.stack.imgur.com/IOi2f.png)

The ListView doesn't show the Usuario fields (nombre, edad) it shows es.dga.sqlitetest.Usuario@43e4...

Can anyone help me? Thanks

Answer: 
You should provide a `toString()` method for `Usuario`. Something like:

```
@Override
public String toString() {
 return this.label;
}

```
Looks like you are calling the *built-in* `toString()` function on your `Usuario` objects. 

You need to override it to implement your own in which you can retrieve the individual fields form the the objects (maybe by using something like `mObject.getNombre()` and `mObject.getEdad()` or just `this.label`).