Вы можете достичь этого, используя Relative layout
Итак, это основная идея, сначала определите макет отношений
//layout variable is your relative layout
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
layout.setLayoutParams(layoutParams);
Затем вы определяете переменную param следующим образом
RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
После этого вы определяете свой textView с идентификатором (в вашем случае этот идентификатор может быть его позицией в массиве)
TextView tv1 = new TextView(this);
tv1.setId(1);
tv1.setText("textView1");
Следующий textView будет объявлен следующим образом
TextView tv2 = new TextView(this);
params1.addRule(RelativeLayout.BELOW, tv1.getId());
tv2.setId(2);
tv2.setText("textView2");
Наконец, вы устанавливаете вид, используя параметры, которые вы определили
layout.addView(tv2, params1);
Вот полный пример, который вы можете проверить ответ по @ AndiM