Настройка RelativeLayout в java-коде

Мне сложно заставить два текстовых представления располагаться друг над другом в моем java-коде. Вот код, с которым я экспериментирую:

/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);

        layout = new RelativeLayout(this);
        text1 = new TextView(this);
        text1.setText("1");
        text2 = new TextView(this);
        text2.setText("2");

        RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
                ViewGroup.LayoutParams.WRAP_CONTENT);
        RelativeLayout.LayoutParams q = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
                ViewGroup.LayoutParams.WRAP_CONTENT);

        q.addRule(RelativeLayout.BELOW, layout.getId());
        text1.setLayoutParams(q);
        layout.addView(text1);


        p.addRule(RelativeLayout.BELOW,text1.getId());
        text2.setLayoutParams(p);
        layout.addView(text2);

        setContentView(layout);
    }

Он складывает два текстовых представления в одну строку, но я хочу, чтобы TextView text2 отображался под TextView text1, поэтому в моем приложении я хочу, чтобы на выходе отображалось следующее:

1
2

Я перепробовал все виды вещей с методом "addRule", я не уверен, почему это не работает. Я хочу знать, как это сделать без XML, потому что я планирую создать библиотеку методов, которые могут создать макет, который легко настраивается путем редактирования массива.

8
задан Onik 24 September 2015 в 12:09
поделиться