Custom Subview of ViewGroup isn't showing up. How do I add custom views to a class extending ViewGroup?
===

I'm trying to create a small BrickBreaker game. 

I have a MainActivity.java, BrickBreakerView.java, and a Paddle.java so far. BrickBreakerView extends the ViewGroup class, and Paddle extends the View class. I'm hoping to be able to add a Paddle, Bricks, Ball, and a Scoreboard (custom view classes that I will create) to the BrickBreakerView. Essentially, BrickBreakerView will control the interactions of these views. 

The MainActivity's xml layout adds a BrickBreakerView to the layout. The BrickBreakerView instantiates a Paddle in the onCreate method, and it also adds the paddle as a subview (addView()).

I've overwritten the Paddle's onDraw method to draw a blue rectangle given X and Y positions. However, when I run my program, I don't see anything on screen. I have tested with Log.d to check that the BrickBreakerView's and Paddle's constructors ARE being called.

Thanks for any help! Also, I am new to Android development, and if you guys could give me some comments regarding the structure of my game, I would be grateful :D!

Here are the relevant pieces of code.

This is called in my main activity:

     setContentView(R.layout.main);
My main.xml looks like:
     .BrickBreakerView
        
        android:id="@+id/mainView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
The BrickBreakerView.java class:

     public class BrickBreakerView extends ViewGroup{

	public BrickBreakerView(Context context, AttributeSet attrs) {
		super(context, attrs);
		setBackgroundColor(Color.GRAY);
		Paddle paddle = new Paddle(context, 100, 400);
		paddle.setYPosition(400);
		addView(paddle);
		Log.d("print", "Brick Breaker View constructor");
	}

	@Override
	protected void onLayout(boolean changed, int l, int t, int r, int b) {
		// TODO Auto-generated method stub
		Log.d("print", "onLayout called");
	}

}

The Paddle.java class:

     public class Paddle extends View{

	private int myX, myY;

	public Paddle(Context context, int xPos, int yPos) {
		super(context);
		// TODO Auto-generated constructor stub
		Log.d("print", "paddle constructor");
		myX = xPos;
		myY = yPos;
		invalidate();
	}
	public void setXPosition(int x) {
		myX = x;
		invalidate();
	}
	public void setYPosition(int y) {
		myY = y;
		invalidate();
	}
	@Override
	protected void onDraw(Canvas canvas) {
		// TODO Auto-generated method stub
		
		Log.d("print", "onDraw called");
		super.onDraw(canvas);
		Paint paint = new Paint();
		paint.setColor(Color.BLUE);
		canvas.drawRect(myX, myY, myX+100, myY+50, paint);
	}

}