title: Dynamic Textview is not fitting in the multiline
body: <p>I'm having an issue with my android application. I want to dynamically create 4 TableRows in a TableLayout. Each of this row will contain 1 TextView. I want the TextView like this:</p>
  
  <pre><code> textview1
   textview2
   textview3
   textview4
  </code></pre>
  
  <p>in 4 different rows.</p>
  
  <p>I am able to create the Tewtview dynamically but the sizes are not matching. For example if my first textview contains a big text, it appears to be in single text without being continued to the next line</p>
  
  <p>I read a lot of similar questions but couldn't find the solution. Here is my layout file:</p>
  
  <pre><code>&lt;Relativelayout&gt;
  
  &lt;ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_marginTop="10dip" android:layout_width="fill_parent"
  android:layout_height="wrap_content" android:layout_below="@+id/didyoudo"
  android:layout_above="@+id/bardown" android:scrollbarFadeDuration="1000"
  android:scrollbarSize="12dip"&gt;
  
  &lt;TableLayout android:id="@+id/answertable"
      android:layout_width="fill_parent" android:layout_height="wrap_content"
      android:stretchColumns="0,1" android:collapseColumns="2"&gt;
  
  
    &lt;/TableLayout&gt;
  &lt;/ScrollView&gt;
  &lt;Relativelayout/&gt;
  </code></pre>
  
  <p>And this is how I'm generating the rows and textview dynamically</p>
  
  <pre><code>for (k =0; k&lt; questionCount;k++ ) {
                      //tmpDict = trivialist.get(k);
                      Trivia trivia = trivialist.get(k);
                      TableRow row = new TableRow(getApplicationContext());
                      TableRow row1 = new TableRow(getApplicationContext());
                      TableRow row2 = new TableRow(getApplicationContext());
                      TableRow row3 = new TableRow(getApplicationContext());
                      TextView tv1 = new TextView(getApplicationContext());
                      TextView tv2 = new TextView(getApplicationContext());
                      TextView tv3 = new TextView(getApplicationContext());
                      TextView tv4 = new TextView(getApplicationContext());
                       desc = trivia.getAnswerDesc();
                       quizquestion = trivia.getStrQuestion();
                      tv1.setText("\n\t" + quizquestion);
                      tv1.setTextColor(Color.WHITE); 
                      tv1.setSingleLine(false);
                      tv1.setLines(2);
                      tv1.setHorizontallyScrolling(false);
                      tv1.setTextSize(15);
                      tv1.setTypeface(null, Typeface.BOLD);
  
                              try {
                                  //if the below value is null, it means that the selected answer is wrong 
                                  // and enters to the else block
                                  if (triviaDict.get("correctAnswer") != null) {
                                      String answer = (String) triviaDict.get("correctAnswer");
                                      tv2.setText("\n\t" + "You said: "+ answer + "\n");
                                      tv2.setTextColor(Color.WHITE);
                                      tv2.setSingleLine(false);
                                      tv2.setHorizontallyScrolling(false);
                                      tv2.setTextSize(15);
                                      tv2.setLines(2);
                                      tv2.setTypeface(null, Typeface.BOLD);
  
                                      tv3.setText("\t" +"That's Right."+ desc+"\n");
                                      tv3.setTextColor(Color.WHITE);
                                      tv3.setSingleLine(false);
                                      tv3.setHorizontallyScrolling(false);
                                      tv3.setTextSize(15);
                                      tv3.setLines(2);
                                      tv3.setTypeface(null, Typeface.BOLD);
  
                                      tv4.setText("\t" + "_____________________________________" );
                                      tv4.setTextColor(Color.WHITE);
                                      tv3.setHorizontallyScrolling(false);
                                      tv4.setTypeface(null, Typeface.BOLD);
                                  } else {
                                      String wronganswer = (String) triviaDict.get("selected");
                                      tv2.setText("\n\t" + "You said:"+ wronganswer +"\n" );
                                      tv2.setTextColor(Color.WHITE);
                                      tv2.setTextSize(15);
                                      tv2.setLines(2);
                                      tv2.setSingleLine(false);
                                      tv2.setTypeface(null, Typeface.BOLD);
  
                                      tv3.setText("\t" + "Actually," + desc +"\n");
                                      tv3.setTextColor(Color.WHITE);
                                      tv3.setTextSize(15);
                                      tv3.setLines(2);
                                      tv3.setSingleLine(false);
                                      tv3.setTypeface(null, Typeface.BOLD);
  
                                      tv4.setText("\t" + "_____________________________________" );
                                      tv4.setTextColor(Color.WHITE);
                                      tv3.setHorizontallyScrolling(false);
                                      tv4.setTypeface(null, Typeface.BOLD);
                                  }
                              } catch (Exception e) {
                                  e.printStackTrace();
                              }
  
  
                  tv1.setLayoutParams(new TableRow.LayoutParams(0,
                                      android.view.ViewGroup.LayoutParams.WRAP_CONTENT,10));
                  tv2.setLayoutParams(new TableRow.LayoutParams(0,
                          android.view.ViewGroup.LayoutParams.WRAP_CONTENT,10));
                  tv3.setLayoutParams(new TableRow.LayoutParams(0,
                          android.view.ViewGroup.LayoutParams.WRAP_CONTENT,10));
  
  
                      row.addView(tv1);
                      row1.addView(tv2);
                      row2.addView(tv3);
                      row3.addView(tv4);
                      answerTable.addView(row);
                      answerTable.addView(row1);
                      answerTable.addView(row2);
                      answerTable.addView(row3);
  
                  }
  </code></pre>
  
  <p>But nothing is working perfect. This works for the 3rd textview but not for the 1st one. Don't know what is happening.</p>
  
  <p>Can anybody tell me what to do.</p>
  
  <p><strong>Update</strong></p>
  
  <p>I do not have any problem with this code except that only tv3 gets proceeded to the next line on large text but not the tv1. 
  I want tv1, tv2 and tv3 all to be continued in the next line in case of large text</p>