You should not use multiple surface views as also mentioned here.
In general you would need to create a single openGL context for both of the views which might be a solution if it is possible.
If you can not avoid multiple contexts then you have quite a problem on a single thread. Only one context can be set as current per thread so for every operation you do you will need to set the correct context as current. So on beginning of each draw call the context must be set. Seems easy enough but if the view is already doing something with the openGL in a method you may not control then this will not work as well. But on the light side I would expect this is already done for you so you are left with the last problem: The contexts may not share resources, buffers such as a texture unless the contexts are "shared". To create a shared context you need to pass the main context as an argument in context construction which again leads to that you need to be able to control the context by yourself.
So try the following:
- Check if you can use a single context for both of the views
- Check if you can create 2 textures (1 for each context) and swap them when swapping the drawing view
- Create a single surface view and use "viewport" method to control what part of the view you are drawing to