title: Creating Custom ImageView
body: <p>I create a custom image view by extending ImageView that just draws some text on the screen, however I don't see anything painted in the Emulator Screen, but the log messages and the printlns get printed in the log console. Am I not doing something?</p>
  
  <p>This is my activity</p>
  
  <pre><code>public class HelloAndroidActivity extends Activity
  {
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState)
      {
          super.onCreate(savedInstanceState);
  
          //        setContentView(R.layout.main);
          CustomImageView myView = new CustomImageView(getApplicationContext());
          System.out.println("Setting the view");
          myView.invalidate();
          setContentView(myView);
          System.out.println("Calling invalidate");
      }
  }
  </code></pre>
  
  <p>This is my CustomImageView</p>
  
  <pre><code>public class CustomImageView extends ImageView
  {
  
      /**
       * @param context
       */
      public CustomImageView(Context context)
      {
          super(context);
          // TODO Auto-generated constructor stub
          setBackgroundColor(0xFFFFFF);
      }
  
      /**
       * @param context
       * @param attrs
       */
      public CustomImageView(Context context, AttributeSet attrs)
      {
          super(context, attrs);
          // TODO Auto-generated constructor stub
      }
  
      /**
       * @param context
       * @param attrs
       * @param defStyle
       */
      public CustomImageView(Context context, AttributeSet attrs, int defStyle)
      {
          super(context, attrs, defStyle);
          // TODO Auto-generated constructor stub
      }
  
      @Override
      protected void onDraw(Canvas canvas)
      {
          // TODO Auto-generated method stub
                  super.onDraw(canvas);
          System.out.println("Painting content");
          Paint paint  = new Paint(Paint.LINEAR_TEXT_FLAG);
          paint.setColor(0x0);
          paint.setTextSize(12.0F);
          System.out.println("Drawing text");
          canvas.drawText("Hello World in custom view", 100, 100, paint);
      }
  
      @Override
      public boolean onTouchEvent(MotionEvent event)
      {
          // TODO Auto-generated method stub
          Log.d("Hello Android", "Got a touch event: " + event.getAction());
          return super.onTouchEvent(event);
  
      }
  }
  </code></pre>
  
  <p>Even the log message in the onTouchEvent() gets printed, but nothing is painted.</p>
  
  <p>This is my main.xml that has the layout</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  
  &lt;AbsoluteLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/AbsoluteLayout"&gt;
  &lt;/AbsoluteLayout&gt;
  </code></pre>