Android - How do you bind a ListView to a collection of custom objects?

android, data-binding, listview

Solution

Extend `ArrayAdapter`, overriding the `getView(int, View, ViewGroup)`.

To hook up your custom adapter, I'll assume your `Activity` extends `ListActivity`. In one of the lifecycle methods (such as `onCreate()`, `onResume()`, or `onStart()`), call `setListAdapter(myCustomAdapter)`.

This article shows how to do it: Android Series: Custom ListView items and adapters.

Problem

I've got a class called `PhoneContact` with 3 properties: Title, Description and PhoneNumber If I have a collection of these, how would I go about binding these to a `ListView` containing a `TextView` for each property?

Original source