title: Programmatically set attribute AlignParentRight to button in RelativeLayout is not working?
body: <p>I try to programmatically set the attribute AlignParentRight to button in RelativeLayout but the program crashes with a NullPointerException. Here my code:</p>
  
  <pre><code>//add horizontal realative layout
  RelativeLayout layouth = new RelativeLayout(this);
  layouth.setLayoutParams(new RelativeLayout.LayoutParams(
          LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
  
  //add textview for label
  TextView t = new TextView(this);
  t.setText(d.getName());
  t.setTextSize(25);
  t.setId(2);      
  t.setLayoutParams(new RelativeLayout.LayoutParams(
          LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
  
  //add button
  Button b = new Button(this);
  b.setText(d.getName());
  RelativeLayout.LayoutParams layoutParams =(RelativeLayout.LayoutParams)b.getLayoutParams();
  layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); 
  layoutParams.addRule(RelativeLayout.LEFT_OF, 2);
  b.setLayoutParams(layoutParams);   
  
  //add textview and button to horizontal linear layout
  layouth.addView(t);
  layouth.addView(b);
  //add horizontal linear layout to vertical linear layout
  layoutv = (LinearLayout) findViewById(R.id.ProjectViewLinearID);
  layoutv.addView(layouth);
  </code></pre>
  
  <p>Where is my problem? The error occurs in the program line <code>layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);</code> </p>
  
  <p><strong>UPDATE WITH SOLUTION:</strong></p>
  
  <p>This code works for me:</p>
  
  <pre><code>// Creating a new RelativeLayout
  RelativeLayout layouth = new RelativeLayout(this);
  
  // Defining the RelativeLayout layout parameters.
  // In this case I want to fill its parent
  RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(
          RelativeLayout.LayoutParams.MATCH_PARENT,
          RelativeLayout.LayoutParams.MATCH_PARENT);
  
  // Creating a new TextView
  TextView tv = new TextView(this);
  tv.setText(d.getName());
  tv.setTextSize(25);
  
  //add button
  Button b = new Button(this);
  b.setText(d.getName());
  
  // Defining the layout parameters of the TextView
  RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
           RelativeLayout.LayoutParams.WRAP_CONTENT,
           RelativeLayout.LayoutParams.WRAP_CONTENT);
           lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
  
  // Setting the parameters on the TextView
  tv.setLayoutParams(lp);
  b.setLayoutParams(lp);
  
  // Adding the TextView to the RelativeLayout as a child
  layouth.addView(tv);
  layouth.addView(b);
  </code></pre>