title: Dynamically generate Relative Layout in Android
body: <p>I want to know how to dynamically generate the Relative Layout for my application. I want to generate a new Relative layout for each item i get from server.</p>
  
  <p>My XML view which i want to generate is as follows: </p>
  
  <pre><code>&lt;RelativeLayout
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  android:paddingBottom="@dimen/activity_vertical_margin"
  android:background="#FFFFFF"
  tools:context=".MainActivity"
  android:id="@+id/Main_Layout"&gt;
  
  &lt;LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="vertical"
      android:id="@+id/question_content"
      &gt;
  
      &lt;RelativeLayout
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:id="@+id/questions"&gt;
          &lt;!-- Month and Year on the top --&gt;
          &lt;TextView
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:background="#22C778"
              android:textAppearance="?android:attr/textAppearanceMedium"
              android:text="December 2014"
              android:gravity="center"
              android:id="@+id/month_name"
              android:padding="5dp"
              android:textColor="#FFFFFF"
              android:layout_alignParentTop="true"
              android:layout_alignParentLeft="true"
              android:layout_alignParentStart="true" /&gt;
  
          &lt;!-- Date and Month On The Left --&gt;
  
          &lt;TextView
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:textAppearance="?android:attr/textAppearanceMedium"
              android:text="30 Jan"
              android:gravity="center_vertical"
              android:background="#F1F1F1"
              android:padding="10dp"
              android:layout_marginTop="5dp"
              android:id="@+id/date_text"
              android:layout_below="@+id/month_name"
              android:layout_alignParentLeft="true"
              android:layout_alignParentStart="true"
              /&gt;
  
          &lt;!-- Question Title  --&gt;
          &lt;TextView
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:background="#FFFFFF"
              android:padding="5dp"
              android:text="This Is The Title Of Question Of January"
              android:id="@+id/question_title"
              android:layout_alignTop="@+id/date_text"
              android:layout_toRightOf="@+id/date_text" /&gt;
  
          &lt;!--  Question Description --&gt;
          &lt;TextView
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:padding="10dp"
              android:text="This Is The Description Of The Question You See Above And Below Is The Rating Bar"
              android:id="@+id/question_desc"
              android:layout_below="@+id/question_title"
              android:layout_toRightOf="@+id/date_text"
              android:layout_toEndOf="@+id/date_text" /&gt;
  
          &lt;RatingBar
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:id="@+id/question_rating"
              android:numStars="1"
              android:stepSize="1"
              android:layout_marginLeft="10dp"
              android:layout_below="@+id/question_desc"
              android:layout_alignLeft="@+id/question_desc"
              android:layout_alignStart="@+id/question_desc"
  
              /&gt;
  
          &lt;TextView
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:textAppearance="?android:attr/textAppearanceSmall"
              android:text="0 people rated this question"
              android:id="@+id/people_rated"
              android:padding="15dp"
              android:layout_alignBottom="@id/question_rating"
              android:layout_below="@+id/question_desc"
              android:layout_toRightOf="@id/question_rating" /&gt;
      &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>
      </p>
  
  <p>I tried doing this in java code: i want to create layout inside android:id="@+id/question_content" dynamically</p>
  
  <pre><code>    RelativeLayout Questions_Layout=new RelativeLayout(this);
      RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
              RelativeLayout.LayoutParams.WRAP_CONTENT);
  
      for(int i=0;i&lt;4;i++)
      {
          //Setting Parameters For TextViews
          //Month and Year TextView " DEC 2014
  
          TextView month_name = new TextView(this);
          month_name.setText("Jan 2014");
          month_name.setId(R.id.ques_title);
          month_name.setPadding(5, 5, 5, 5);
          month_name.setGravity(Gravity.CENTER);
          month_name.setBackgroundColor(Color.parseColor("#22C778"));
          month_name.setTextColor(Color.parseColor("#FFFFFF"));
          month_name.setTextAppearance(this, android.R.style.TextAppearance_Medium);
          params.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE);
          params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
          params.addRule(RelativeLayout.ALIGN_PARENT_START, RelativeLayout.TRUE);
          month_name.setLayoutParams(params);
  
  
          //Adding Text View To Relative Layout
          Questions_Layout.addView(month_name);
  
  
          //Setting Parameters For TextViews
          //Date and Month TextView " 12 DEC
          TextView Day_Month= new TextView(this);
  
          Day_Month.setText("12 Jan");
          Day_Month.setId(R.id.day_month);
          Day_Month.setPadding(10, 10, 10, 10);
          params.setMargins(0, 5, 0, 0);
          Day_Month.setGravity(Gravity.CENTER_VERTICAL);
          Day_Month.setBackgroundColor(Color.parseColor("#F1F1F1"));
          Day_Month.setTextAppearance(this, android.R.style.TextAppearance_Medium);
          params.removeRule(RelativeLayout.ALIGN_PARENT_TOP);
          params.addRule(RelativeLayout.BELOW,R.id.month_year);
          Day_Month.setLayoutParams(params);
          Questions_Layout.addView(Day_Month);
  
          //Setting Parameters For TextViews
          //Question Title TextView "This Is Title Of The Question
  
          TextView Ques_Title=new TextView(this);
          Ques_Title.setId(R.id.ques_title);
          Ques_Title.setText("This Is The Title");
          Ques_Title.setPadding(5, 5, 5, 5);
          Ques_Title.setBackgroundColor(Color.parseColor("#FFFFFF"));
          params.removeRule(RelativeLayout.BELOW);
          params.removeRule(RelativeLayout.ALIGN_PARENT_LEFT);
          params.removeRule(RelativeLayout.ALIGN_PARENT_START);
          params.addRule(RelativeLayout.ALIGN_TOP,R.id.day_month);
          params.addRule(RelativeLayout.RIGHT_OF,R.id.day_month);
          Ques_Title.setLayoutParams(params);
          Questions_Layout.addView(Ques_Title);
          //Setting Parameters For TextViews
          //Question Description TextView "This Is Description Of The Question
  
          TextView Ques_Desc=new TextView(this);
          Ques_Desc.setId(R.id.ques_desc);
          Ques_Desc.setText("This Is The Description Of Question");
          Ques_Desc.setPadding(10, 10, 10, 10);
          Ques_Desc.setBackgroundColor(Color.parseColor("#FFFFFF"));
          params.removeRule(RelativeLayout.RIGHT_OF);
          params.removeRule(RelativeLayout.ALIGN_TOP);
          params.addRule(RelativeLayout.BELOW,R.id.ques_title);
          params.addRule(RelativeLayout.RIGHT_OF,R.id.day_month);
          params.addRule(RelativeLayout.END_OF,R.id.day_month);
          Ques_Desc.setLayoutParams(params);
          Questions_Layout.addView(Ques_Desc);
  
  
          RatingBar ratingBar=new RatingBar(this);
          ratingBar.setId(R.id.rating_bar);
          ratingBar.setNumStars(1);
          ratingBar.setStepSize(1);
          params.setMargins(10,0,0,0);
          params.removeRule(RelativeLayout.ALIGN_LEFT);
          params.removeRule(RelativeLayout.BELOW);
          params.removeRule(RelativeLayout.START_OF);
          params.addRule(RelativeLayout.ALIGN_LEFT,R.id.ques_desc);
          params.addRule(RelativeLayout.BELOW,R.id.ques_desc);
          params.addRule(RelativeLayout.START_OF,R.id.ques_desc);
          ratingBar.setLayoutParams(params);
          Questions_Layout.addView(ratingBar);
  
  
          //Setting Parameters For TextViews
          //People Rated TextView "3 people Rated This"
  
          TextView People_Rated=new TextView(this);
          People_Rated.setId(R.id.people_rated);
          People_Rated.setText("9 People Rated This");
          People_Rated.setPadding(15, 15, 15, 15);
          People_Rated.setBackgroundColor(Color.parseColor("#FFFFFF"));
          params.removeRule(RelativeLayout.RIGHT_OF);
          params.removeRule(RelativeLayout.BELOW);
          params.addRule(RelativeLayout.BELOW,R.id.ques_desc);
          params.addRule(RelativeLayout.ALIGN_TOP,R.id.rating_bar);
          params.addRule(RelativeLayout.RIGHT_OF,R.id.rating_bar);
          People_Rated.setLayoutParams(params);
          Questions_Layout.addView(People_Rated);
  
  
  
  
      }
      LinearLayout base=(LinearLayout) findViewById(R.id.question_content);
      base.addView(Questions_Layout);
  
     // LinearLayout main=(LinearLayout) findViewById(R.id.question_content);
     // main.addView(sv);
      setContentView(R.layout.activity_main);
      ViewGroup container = (ViewGroup)findViewById(R.id.question_content);
      container.addView(Questions_Layout);
  </code></pre>
  
  <p>but it's not working. Am i doing something wrong. Please suggest something</p>