Como alinhar elementos de exibição no Relativelayout dinamicamente através do código no Android?

Eu quero exibir 3 caixas de seleção uma abaixo da outra no layout relativo dinamicamente por meio do código. Mas eu posso exibir apenas duas caixas de seleção uma abaixo da outra. Estou dando abaixo do meu código .... Não consigo descobrir onde estou errado.

My Code -

            RelativeLayout layout = new RelativeLayout(this);

    CheckBox cb1 = new CheckBox(this);
    cb1.setId(1);
    cb1.setText("A");

    CheckBox cb2 = new CheckBox(this);
    cb2.setId(2);
    cb2.setText("B");

    CheckBox cb3 = new CheckBox(this);
    cb3.setId(3);
    cb3.setText("C");

    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    layout.setLayoutParams(lp);

    layout.addView(cb1);     

    lp.addRule(RelativeLayout.BELOW,cb1.getId());
    cb2.setLayoutParams(lp);        
    layout.addView(cb2);

    lp.addRule(RelativeLayout.BELOW,cb2.getId());
    cb3.setLayoutParams(lp);
    layout.addView(cb3);

Desde já, obrigado

Rohan Waugh

questionAnswers(1)

yourAnswerToTheQuestion