Trying to start renderer from GLSurfaceView declared in layout
<p>I'm a newbie to OpenGL on Android and last week I described a problem failing to get the renderer to start for a GLSurfaceView declared in the layout.    It starts fine if I declare the renderer in the Activity class and setContentView to it.   Here's a simplifed version with <strong>all</strong> the source code.   What am I doing wrong?</p>

<p><strong>Layout</strong> . . . </p>

<pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"&gt;

  &lt;Button
    android:id="@+id/dummy"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="a Button" /&gt;
  &lt;FrameLayout
  android:id="@+id/framelay"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"&gt;
     &lt;com.test.rendertest.RTSurface
     android:id="@+id/RTSurfaceView"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"/&gt;
  &lt;/FrameLayout&gt;  
&lt;/LinearLayout&gt;
</code></pre>

<p><strong>Activity class</strong>.   UNcomment the <em>//A</em>'s, and comment-out the <em>//B</em>'s and the renderer runs.  But as shown below the renderer does not run even though its constructor gets called.</p>

<pre><code>public class RenderTest extends Activity {

       RTSurface myView;
       @Override
       public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
//        myView = new RTSurface(this);   // A
//        setContentView(myView);         //A
          setContentView(R.layout.main);        // B
          myView = (com.test.rendertest.RTSurface)findViewById(R.id.RTSurfaceView);  //B
       }

       @Override
       protected void onPause() {
           super.onPause();
           myView.onPause();
       }

       @Override
       protected void onResume() {
           super.onResume();
           myView.onResume();
       }       
}
</code></pre>

<p><strong>GLSurfaceView</strong> . . . </p>

<pre><code>class RTSurface extends GLSurfaceView  {
   private final RTRenderer renderer;

   public RTSurface(Context context) {
      super(context);
      Log.i("rendertest", "RTSurface constructor - Default Form");
      renderer = new RTRenderer();
      setRenderer(renderer);
   }

   public RTSurface(Context context, AttributeSet attrs) {
      super(context, attrs);    
      Log.i("rendertest", "RTSurface constructor - Layout Form");
      renderer = new RTRenderer();
      setRenderer(renderer);
   }  
}
</code></pre>

<p>. . .  and the <strong>Renderer</strong>  (just stubs)</p>

<pre><code>class RTRenderer implements GLSurfaceView.Renderer {

   public RTRenderer () {
       // a constructor just to have somewhere to set 
       // breakpoints and logcat messages
       Log.i("rendertest", "RTRenderer Constructor");      
   }

   public void onSurfaceCreated(GL10 gl, EGLConfig config) {               
      Log.i("rendertest", "onSurfaceCreated in RTRenderer");                   
   }

   public void onSurfaceChanged(GL10 gl, int width, int height) {
      Log.i("rendertest", "onSurfaceChanged in RTRenderer");                
   } 

   public void onDrawFrame(GL10 gl) {   
       Log.i("rendertest", "onDrawFrame in RTRenderer");     
     }  
} 
</code></pre>

<p><strong>Thanks in advance!!</strong></p>
