You aren't able to create view that contains fields from a record (opportunity) and only a single child record (next activity).
You can sort of due this by creating an Advanced Find on 'Activities' - 1st criteria being Activity Type Equals Task; Phone Call; which ever others you want
Then choose 'Regarding (Opportunity)' and don't specify any other criteria - or specify a specific Opportunity
You should be able to add columns from both Activity and Regarding (Opportunity)
This will give you a list of activities with fields from the related Opportunity.
To really achieve what you are looking for, you would probably need to add a field to Opportunity to hold the date of the next activity and then create plugins on your activity types that fires off when the activity is related to an Opportunity - this would in turn query the list of all activities related to that Opportunity and find the date of the next one and populate it into the new field.