title: Setting up RelativeLayout in java code
body: <p>I'm having a hard time getting two text views to appear on top of each other in my java code. Here's the code I'm experimenting with:</p>
  
  <pre><code>/** 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);
      }
  </code></pre>
  
  <p>This stacks the two text views on the same line, but I want TextView text2, to appear below TextView text1, so in my app I want the following to appear as the output:</p>
  
  <pre><code>1
  2
  </code></pre>
  
  <p>I've tried all sort of things with the "addRule" method, I'm not sure why this isn't working. I want to know how to do this without XML because I plan to build a library of methods that can build up a layout that is easily adjustable through editing an array.</p>