http://developer.android.com/training/basics/activity-lifecycle/starting.html
When activity starts, onCreate(), onStart(), onResume() methods are called in sequence one by one, if you call onCreate() in onResume(), that means you are going to fill the list twice.
You can make a method such as fillList() and call it only in onResume() state, in that way, whenever your activity resumes or creates, this method will be called, But make sure that this operation is not heavy. According to android, activity starts being visible to user onStart() but after onResume() user can interact.