creating an adapter is expensive. Create this as a member variable in onCreate with an empty list. Then in this method, use the .add() method http://developer.android.com/reference/android/widget/ArrayAdapter.html#add(T) or related onces to modify the underlying data structure. Then call adapter.notifyDataSetChanged()