Can a Drupal view show some fields for one role and other fields for another role without having two page views? I need to create a view showing the history of the users events. I need the authenticated users to be able to see part of the view, certain fields, and the admin to see all fields in the view. The fields are user_id, activity_id, title, status. I need the user_id and activity_id to be hidden from the authenticated user but not the admin. I know how to control the whole view but not fields in that way. 

Has anyone tried to manage that? Is there a way to do this?
You can add all the fields to the view and than hide some of them in either a hook, a preprocess function or a template file.

There views module provide many hooks for you to use i suggest the views view pre render hook.

If you choose the preprocess route than you will need to find the correct template first. Go to the view configuration page and look for a link called theme info. That link will be placed in the advanced column at the very bottom.

After you know which template you need add the corresponding preprocess function to your THEME.theme file.

Fit the views-view-unformatted.tpl.php a function called THEME_views_view_unformatted_preprocess will work.