title: nullpointer exception on custom adapter
body: <p>I have created a project to display list with custom row layout.  Upon clicking on the list item, calling an activity which retrieves data from sqlite and display in listview using custom row.  But, I am getting null pointer exception when doing setadapter in </p>
  
  <p>DisplayCards.java</p>
  
  <pre><code>import android.os.Bundle;
  import android.app.Activity;
  import android.content.Context;
  import android.database.Cursor;
  import android.graphics.Color;
  import android.util.Log;
  import android.view.Menu;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.ListView;
  import android.widget.SimpleCursorAdapter;
  
  public class DisplayCards extends Activity{
  
  
          private Divyadesamdb dbHelper;
  
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
  
              dbHelper = new Divyadesamdb(this);
              dbHelper.open();
  
              // Clean all data
              dbHelper.deleteAllPasurams();
              // Add some data
              dbHelper.insertPasurams();
  
              // Generate ListView from SQLite Database
              displayListView();
  
          }
  
          @Override
          public boolean onCreateOptionsMenu(Menu menu) {
              // Inflate the menu; this adds items to the action bar if it is present.
              getMenuInflater().inflate(R.menu.main, menu);
              return true;
          }
  
          private void displayListView() {
              String category = null;
              String starting = "25";
              String ending = "30";
              int rowsFound = 0;
              Cursor cursor = dbHelper.fetchAllPasurams(category,starting,ending);
              /*
               * How many rows returned from the query
               */
              rowsFound = cursor.getCount();
              Log.d("VC", "Query returned "+rowsFound+" rows.");
              // the desired columns to be bound
              String[] columns = new String[] { Divyadesamdb.PASURAMS_COLUMN_PAASURAMNUMBER,
                      Divyadesamdb.PASURAMS_COLUMN_AAYIRAM, Divyadesamdb.PASURAMS_COLUMN_AZHWAAR,
                      Divyadesamdb.PASURAMS_COLUMN_CATEGORY, Divyadesamdb.PASURAMS_COLUMN_MANGALASASANAMON,
                      Divyadesamdb.PASURAMS_COLUMN_PAASURAM_EN_STR, Divyadesamdb.PASURAMS_COLUMN_SUBCATEGORY,
                      Divyadesamdb.PASURAMS_COLUMN_TITLE, Divyadesamdb.PASURAMS_COLUMN_TITLENUMBER };
  
  
  
              // the XML defined views which the data will be bound to
              int[] to = new int[] { R.id.tvPaasuramNumber, R.id.tvAayiram, R.id.tvAzhwaar,
                      R.id.tvCategory, R.id.tvMangalasasanamOn, R.id.tvPaasuram,
                      R.id.tvSubCategory, R.id.tvTitle, R.id.tvtvTitleNumber};
  Log.d("VC","Just before creating dataAdapter");
              // create the adapter using the cursor pointing to the desired data
              // as well as the layout information
              MyCursorAdapter dataAdapter = new MyCursorAdapter(this,
                      R.layout.paasuram_single_item, cursor, columns, to, 0);
              Log.d("VC","Just after creating dataAdapter");
              ListView listView = (ListView) findViewById(R.id.listView1);
              // Assign adapter to ListView
              Log.d("VC","created listView");
              int myCount = dataAdapter.getCount();
              Log.d("VC","got data from dataAdapter "+myCount);
              //listView.getAdapter();
              listView.setAdapter(dataAdapter);
              Log.d("VC","completed setadapter dataAdapter");
          }
  
          // extend the SimpleCursorAdapter to create a custom class where we
          // can override the getView to change the row colors
          private class MyCursorAdapter extends SimpleCursorAdapter {
  
              public MyCursorAdapter(Context context, int layout, Cursor c,
                      String[] from, int[] to, int flags) {
                  super(context, layout, c, from, to, flags);
              }
  
              @Override
              public View getView(int position, View convertView, ViewGroup parent) {
  
                  // get reference to the row
                  View view = super.getView(position, convertView, parent);
                  // check for odd or even to set alternate colors to the row
                  // background
                  if (position % 2 == 0) {
                      view.setBackgroundColor(Color.rgb(238, 233, 233));
                  } else {
                      view.setBackgroundColor(Color.rgb(255, 255, 255));
                  }
                  return view;
              }
  
          }
  
      }
  </code></pre>
  
  <p>paasuram_single_item.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:background="@drawable/mybackground"
      android:orientation="vertical" &gt;
  
      &lt;ImageView
          android:id="@+id/ivAzhwaar"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_centerInParent="false"
          android:layout_margin="10dp"
          android:contentDescription="@string/Azhwaar"
          android:padding="5dp"
          android:src="@drawable/nammalwar" /&gt;
  
      &lt;TextView
          android:id="@+id/tvtvTitleNumber"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignTop="@+id/ivAzhwaar"
          android:layout_toRightOf="@+id/ivAzhwaar"
          android:text="TitleNumber"
          android:textAppearance="?android:attr/textAppearanceMedium" /&gt;
  
      &lt;TextView
          android:id="@+id/tvHyphan1"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignBaseline="@+id/tvtvTitleNumber"
          android:layout_alignBottom="@+id/tvtvTitleNumber"
          android:layout_toRightOf="@+id/tvtvTitleNumber"
          android:text=" "
          android:textAppearance="?android:attr/textAppearanceMedium" /&gt;
  
      &lt;TextView
          android:id="@+id/tvTitle"
          android:layout_width="wrap_content"
          android:layout_height="match_parent"
          android:layout_alignBaseline="@+id/tvHyphan1"
          android:layout_alignBottom="@+id/tvHyphan1"
          android:layout_alignParentRight="true"
          android:layout_toRightOf="@+id/tvHyphan1"
          android:text="Title"
          android:textAppearance="?android:attr/textAppearanceMedium" /&gt;
  
      &lt;TextView
          android:id="@+id/tvAayiram"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignLeft="@+id/tvtvTitleNumber"
          android:layout_below="@+id/tvtvTitleNumber"
          android:text="Aayiram"
          android:textAppearance="?android:attr/textAppearanceSmall" /&gt;
  
      &lt;TextView
          android:id="@+id/tvHyphan2"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_below="@+id/tvtvTitleNumber"
          android:layout_toRightOf="@+id/tvAayiram"
          android:text=" - "
          android:textAppearance="?android:attr/textAppearanceSmall" /&gt;
  
      &lt;TextView
          android:id="@+id/tvCategory"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignBaseline="@+id/tvHyphan2"
          android:layout_alignBottom="@+id/tvHyphan2"
          android:layout_toRightOf="@+id/tvHyphan2"
          android:text="Category"
          android:textAppearance="?android:attr/textAppearanceSmall" /&gt;
  
      &lt;TextView
          android:id="@+id/tvHyphan3"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignBaseline="@+id/tvCategory"
          android:layout_alignBottom="@+id/tvCategory"
          android:layout_toRightOf="@+id/tvCategory"
          android:text=" - "
          android:textAppearance="?android:attr/textAppearanceSmall" /&gt;
  
      &lt;TextView
          android:id="@+id/tvSubCategory"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignBaseline="@+id/tvHyphan3"
          android:layout_alignBottom="@+id/tvHyphan3"
          android:layout_toRightOf="@+id/tvHyphan3"
          android:text="SubCategory"
          android:textAppearance="?android:attr/textAppearanceSmall" /&gt;
  
      &lt;TextView
          android:id="@+id/tvPaasuram"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignLeft="@+id/tvAayiram"
          android:layout_below="@+id/tvAayiram"
          android:padding="5dp"
          android:text="paasuram"
          android:textAppearance="?android:attr/textAppearanceSmall" /&gt;
  
      &lt;TextView
          android:id="@+id/tvPaasuramNumber"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignBaseline="@+id/tvPaasuram"
          android:layout_alignBottom="@+id/tvPaasuram"
          android:layout_alignParentBottom="true"
          android:layout_alignParentRight="true"
          android:text="PaasuramNumber"
          android:textAppearance="?android:attr/textAppearanceMedium" /&gt;
  
      &lt;TextView
          android:id="@+id/tvAzhwaar"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignBaseline="@+id/tvMangalasasanamOn"
          android:layout_alignBottom="@+id/tvMangalasasanamOn"
          android:layout_alignLeft="@+id/tvPaasuram"
          android:text="Azhwaar"
          android:textAppearance="?android:attr/textAppearanceSmall" /&gt;
  
      &lt;TextView
          android:id="@+id/tvMangalasasanamOn"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignLeft="@+id/tvCategory"
          android:layout_below="@+id/tvPaasuram"
          android:layout_centerHorizontal="true"
          android:text="MangalasasanamOn"
          android:textAppearance="?android:attr/textAppearanceSmall" /&gt;
  
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>paasuram_list_fragment.xml</p>
  
  <pre><code>&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:paddingBottom="@dimen/activity_vertical_margin"
      android:paddingLeft="@dimen/activity_horizontal_margin"
      android:paddingRight="@dimen/activity_horizontal_margin"
      android:paddingTop="@dimen/activity_vertical_margin"
      tools:context=".MainActivity" &gt;
  
  
  
      &lt;ListView
          android:id="@android:id/list"
          android:layout_width="match_parent"
          android:layout_height="wrap_content" &gt;
      &lt;/ListView&gt;
  
  
  
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>NPE is happening on DisplayCards.java </p>
  
  <pre><code>listView.setAdapter(dataAdapter);
  </code></pre>
  
  <p>Able to get the correct count in dataAdapter</p>
  
  <p>any help is appreciated.</p>