A: 

Depends how you want it done, I recommend using a new activity for things with a lot of information; especially if yoy need some interactivity such as links.

Pro's with this are mainly the flow of the application. the user can use the back button to navigate easier.

Con's being having to have a whole new activity to view details

If you are, however, just extending a description you could use a dialog.

Con
A: 

It depends on if you want to be able to call that item from somewhere else possibly, then breaking it off to a separate Activity is the way to go. As far as how to get the data in there, why not just pass the Intent with an id of the item and then load it from your datastore based off of the id.

jturmel
A: 

but then I have the challenge of how do I pass the rest of the data structure to the new activity since I can't bundle it up (unless I serialize it).

Or, move your model outside of the initial Activity. For example, you could have your list be held by a Service that each Activity binds to, and have it manage the model. Or, have the model be held in static data members (though watch out for GC issues). Or, if eventually this will be in a database, get it to the database now, then just pass the key to the item via an extra, so the detail activity can get it from the database.

CommonsWare
For application globals I've been subclassing Application and using fields within that. However pulling my playlist items out of my playlist-related activities would be a big break of convention. Gotta think about this one.
stormin986