title: java null pointer exception database
body: <p>I have a database contact application.And i want to display my contact details in another intent when i click one contact in list  view.
  Here is my .java code:`</p>
  
  <pre><code>          package org.example.dbcontactconsole;
            import android.app.ListActivity;
            import android.content.Intent;
            import android.database.Cursor;
            import android.database.sqlite.SQLiteDatabase;
            import android.os.Bundle;
            import android.view.View;
            import android.view.View.OnClickListener;
            import android.widget.Button;
            import android.widget.EditText;
            import android.widget.ListAdapter;
            import android.widget.ListView;
            import android.widget.SimpleCursorAdapter;
            import static android.provider.BaseColumns._ID;
  
  public class Search extends  ListActivity {
  
  private static int[] TO = {R.id.rowid,R.id.name, R.id.mobilephone, R.id.email };  
   private static String[] FROM = {_ID,DbConstants.NAME, DbConstants.PHONE,DbConstants.EMAIL, };
  
  
       private Button sButton;
   private ListView lv1;
   private static SQLiteDatabase db;
    private DbCreate contacts;
    private Cursor cursor;
    private EditText searchText;
    protected ListAdapter adapter;
  
  protected void onCreate(Bundle savedInstanceState){
      super.onCreate(savedInstanceState);
      setContentView(R.layout.search);
      searchText=(EditText)findViewById(R.id.searchText);
      sButton=(Button)findViewById(R.id.searchButton);
      sButton.setOnClickListener(new OnClickListener() {
  
          public void onClick(View v) {
              // TODO Auto-generated method stub
              showDatabaseContent();
                lv1 = getListView();
                lv1.setTextFilterEnabled(true);
          }
      }); 
  }
    private Cursor getContacts() {
        db = contacts.getReadableDatabase();
        cursor = db.rawQuery("SELECT  _id,name, phone, email FROM contactTest1 WHERE name LIKE ?", 
                  new String[]{searchText.getText().toString()+"%"});
        startManagingCursor(cursor);
        return cursor;}
  
          public void showDatabaseContent(){
     contacts = new DbCreate(this); 
     try {
         cursor = getContacts(); 
         showContacts(cursor); 
     } finally {
         contacts.close(); 
         db.close();
     }
   }
  
     private void showContacts(Cursor cursor) {
     //set up data binding
     SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.item, cursor, FROM, TO);
     setListAdapter(adapter);
    }
  public void onListItemClick(ListView parent, View v, int position, long id) {
     Intent abaintent = new Intent(this,Detalii.class);
     Cursor cursor = (Cursor) adapter.getItem(position);
     abaintent.putExtra("Contact_ID", cursor.getInt(cursor.getColumnIndex("_id")));
     startActivity(abaintent);
    } 
    }
  </code></pre>
  
  <p><code>
     Here is Detalii.java:</code>
       package org.example.dbcontactconsole;</p>
  
  <pre><code>import android.app.Activity;
  import android.database.Cursor;
  import android.database.sqlite.SQLiteDatabase;
  import android.os.Bundle;
  import android.widget.TextView;
  
  public class Detalii extends Activity
            { 
   protected TextView contactName;
   protected TextView contactPhone;
   protected TextView email;
   protected int contactId;
  
  
   @Override
   public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.detalii);
  
   contactId = getIntent().getIntExtra("Contact_ID",0);
   SQLiteDatabase db = (new DbCreate(this)).getWritableDatabase();
   Cursor cursor = db.rawQuery("SELECT name,phone,email FROM contactTest1 WHERE   _id=?",new String[]{""+contactId});
  
   if (cursor.getCount() == 1)
  {
      cursor.moveToFirst();
  
      contactName = (TextView) findViewById(R.id.name);
      contactName.setText(cursor.getString(cursor.getColumnIndex("name")));
  
  
  
      contactPhone = (TextView) findViewById(R.id.phone);
      contactPhone.setText(cursor.getString(cursor.getColumnIndex("phone")));
  
  
  
      email = (TextView) findViewById(R.id.email);
      email.setText(cursor.getString(cursor.getColumnIndex("email")));
  
       }
  
    }
  
  
    }
  </code></pre>
  
  <p>`</p>
  
  <p>i am getting :`</p>
  
  <pre><code>       java.lang.NullPointerException
  
         at org.example.dbcontactconsole.Search.onListItemClick(Search.java:80)
         at android.app.ListActivity$2.onItemClick(ListActivity.java:319)
         at android.app.ActivityThread.main(ActivityThread.java:3683)
         at java.lang.reflect.Method.invokeNative(Native Method)
         at java.lang.reflect.Method.invoke(Method.java:507)
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
         (ZygoteInit.java:839)
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
         at dalvik.system.NativeStart.main(Native Method)
  </code></pre>
  
  <p>`</p>