First of all you said View extends ViewGroup, but the diagram says ViewGroup extends View (which I assume to be right).
Secondly, you are not allowed to pass a List<ViewGroup> as a List<View>. This is a compile time protection to prevent someone from adding an AnotherView into this list and compromise type-safety of generics.
List<ViewGroup> is not a subtype of List<View>, but it is a subtype of List<? extends View>. So you can modify your method to accept a List<? extends View> instead, but be aware that you can't add to the list passed to the method this way.
There is also another syntax called lower bound wildcard (List<? super ViewGroup>), as opposed to the upper bound wildcard mentioned above, which enables you to add to the list but you can olny pass in a list of ViewGroup or its parents.
More about wildcards in generics can be found here: http://download.oracle.com/javase/tutorial/java/generics/wildcards.html