Bonjour,
J'ai 2 pages avec un GLSurfaceView sur chaque page.
Avec l'émulateur plateforme 1.6 j'ai un problème que je n'ai pas sur la plateforme 2.2.
J'utilise bien ceci quand je lance la deuxième fenêtre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 view = (GLSurfaceView) findViewById(R.id.surfaceViewMain); renderer = new RendererMain(this); view.setRenderer(renderer);
Je ne fais pas un finished() lorsque j'appelle la nouvelle fenêtre mais onPause est appelé !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 @Override protected void onPause() { view.onPause(); super.onPause(); } @Override protected void onResume() { view.onResume(); super.onResume(); }
Problème : le GLSurfaceview de la 2eme fenêtre ne s'affiche pas.
Les 3 méthodes suivantes ne sont jamais appelé :
Lorsque je fais un finished, lorsque j'appelle le 2eme fenêtre, ça marche !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public void onSurfaceCreated(GL10 gl, EGLConfig config) public void onSurfaceChanged(GL10 gl, int width, int height) public void onDrawFrame(GL10 gl)
Avec la plateforme 2.2 ça marche dans tous les cas !
Lorsque j'enlève la GLSurfaceView de la 1ere fenêtre, le 2eme GLSurfaceView fonctionne !
J'en conclus que le premier GLSurfaceView bloque le deuxième GLSurfaceView de la 2eme fenêtre, même lorsque celle-ci est en pause : Comment expliquer cela ?
Quelle est la solution ?
Merci
Partager