title: Null pointer exception in Dynamically add TableRow to TableLayout
body: <p>I came across a concept while surfing to create the dynamic table rows and add content to that. Describing below the code
  This code throws NullPointerException.</p>
  
  <p><strong>Layout:</strong></p>
  
  <pre><code>&lt;TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:stretchColumns="0,1"
                  android:id="@+id/tabledisplay" android:layout_weight="1" android:layout_height="wrap_content" android:layout_width="match_parent"&gt;
          &lt;/TableLayout&gt;
  </code></pre>
  
  <p><strong>code</strong> </p>
  
  <pre><code>public void display_table(){
      try{
      TableLayout tl = (TableLayout)findViewById(R.id.tabledisplay);
  
      DBConnection db= new DBConnection();
      Connection con=db.getConnection();
      Statement st=con.createStatement();
      ResultSet rs=st.executeQuery("select report_name,report_createddate,user_name from reports");
      TableRow tr_head = new TableRow(this);
      tr_head.setId(10);
      tr_head.setBackgroundColor(Color.GRAY);
      tr_head.setLayoutParams(new LayoutParams(
      LayoutParams.FILL_PARENT,
      LayoutParams.WRAP_CONTENT));
      TextView label_date = new TextView(this);
      label_date.setId(20);
      label_date.setText("DATE");
      label_date.setTextColor(Color.WHITE);
      label_date.setPadding(5, 5, 5, 5);
      tr_head.addView(label_date);// add the column to the table row here
  
      TextView label_weight_kg = new TextView(this);
      label_weight_kg.setId(21);// define id that must be unique
      label_weight_kg.setText("Wt(Kg.)"); // set the text for the header 
      label_weight_kg.setTextColor(Color.WHITE); // set the color
      label_weight_kg.setPadding(5, 5, 5, 5); // set the padding (if required)
      tr_head.addView(label_weight_kg); // add the column to the table row here
      tl.addView(tr_head, new TableLayout.LayoutParams(
              LayoutParams.FILL_PARENT,
              LayoutParams.WRAP_CONTENT));
      Integer count=0;
      while (rs.next()) {
     String date = (rs.getString(1));// get the first variable
     String weight_kg = (rs.getString(2));// get the second variable
     // Create the table row
     TableRow tr = new TableRow(this);
     if(count%2!=0) tr.setBackgroundColor(Color.GRAY);
     tr.setId(100+count);
     tr.setLayoutParams(new LayoutParams(
     LayoutParams.FILL_PARENT,
     LayoutParams.WRAP_CONTENT));
  
     //Create two columns to add as table data
      // Create a TextView to add date
     TextView labelDATE = new TextView(this);
     labelDATE.setId(200+count); 
     labelDATE.setText(date);
     labelDATE.setPadding(2, 0, 5, 0);
     labelDATE.setTextColor(Color.WHITE);
     tr.addView(labelDATE);
     TextView labelWEIGHT = new TextView(this);
     labelWEIGHT.setId(200+count);
     labelWEIGHT.setText(weight_kg.toString());
     labelWEIGHT.setTextColor(Color.WHITE);
     tr.addView(labelWEIGHT);
  
     // finally add this to the table row
     tl.addView(tr, new TableLayout.LayoutParams(
                          LayoutParams.FILL_PARENT,
                          LayoutParams.WRAP_CONTENT));
                 count++;
              }   
  
  
      }catch (Exception e) {
          // TODO: handle exception
          Toast.makeText(getApplicationContext(),e.toString(),Toast.LENGTH_LONG).show();
      }
  
  }
  </code></pre>
  
  <p>Please let me know what goes wrong in my code?</p>
  
  <p>LOG error</p>
  
  <pre><code>09-25 10:02:58.125: I/System.out(560): java.lang.NullPointerException 09-25
  10:02:58.154: I/System.out(560):    at  
  android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:100) 09-25  
  10:02:58.154: I/System.out(560):    at
  co.analuo.app.HorzScrollWithListMenu.display_table(HorzScrollWithListMenu.java:189) 
  09-25 10:02:58.164: I/System.out(560):  at 
  co.analuo.app.HorzScrollWithListMenu$1.onItemClick(HorzScrollWithListMenu.java:111)   
  09-25 10:02:58.164: I/System.out(560):  at 
  android.widget.AdapterView.performItemClick(AdapterView.java:284) 09-25 10:02:58.164:  
  I/System.out(560):  at android.widget.ListView.performItemClick(ListView.java:3513) 
  09-25 10:02:58.164: I/System.out(560):  at 
  android.widget.AbsListView$PerformClick.run(AbsListView.java:1812) 09-25 10:02:58.175: 
  I/System.out(560):  at android.os.Handler.handleCallback(Handler.java
  :587)
  09-25 10:02:58.185: I/System.out(560):  at   
  android.os.Handler.dispatchMessage(Handler.java:92)
  09-25 10:02:58.185: I/System.out(560):  at android.os.Looper.loop(Looper.java:123)
  09-25 10:02:58.185: I/System.out(560):  at 
  android.app.ActivityThread.main(ActivityThread.java:3683)
  09-25 10:02:58.204: I/System.out(560):  at 
  java.lang.reflect.Method.invokeNative(Native Method)
  09-25 10:02:58.204: I/System.out(560):  at 
   java.lang.reflect.Method.invoke(Method.java:507)
   09-25 10:02:58.204: I/System.out(560):     at 
   com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
  09-25 10:02:58.204: I/System.out(560):  at 
  com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
  09-25 10:02:58.204: I/System.out(560):  at dalvik.system.NativeStart.main(Native Method)
  </code></pre>