Если не важно использовать RelativeLayout, вы можете использовать LinearLayout и сделать следующее:
LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setOrientation(LinearLayout.VERTICAL);
Это позволяет избежать использования метода addRule, который вы пробовали.Вы можете просто использовать addView () для добавления новых TextViews.
Полный код:
String[] textArray = {"One", "Two", "Three", "Four"};
LinearLayout linearLayout = new LinearLayout(this);
setContentView(linearLayout);
linearLayout.setOrientation(LinearLayout.VERTICAL);
for( int i = 0; i < textArray.length; i++ )
{
TextView textView = new TextView(this);
textView.setText(textArray[i]);
linearLayout.addView(textView);
}