title: StaleDataException with dialog
body: <p>I am trying to show a dialog with a listview with names from my database but I keep getting a <code>StaleDataException</code>. I know that usually means I am trying to use data from a closed cursor but the cursor does not close until I get all the data so I dont understand why I am getting this</p>
  
  <pre><code>d = new Dialog(this);
  d.setContentView(R.layout.dialog_layout);
  d.setTitle("Select Bowler");
  
  ListView lv = (ListView)d.findViewById(R.id.dialog_list);
  Cursor c = getContentResolver().query(
      BowlersDB.CONTENT_URI,
      new String[] {
          BowlersDB.ID, BowlersDB.FIRST_NAME, BowlersDB.LAST_NAME
      },
      null,
      null,
      BowlersDB.LAST_NAME + " COLLATE LOCALIZED ASC"
  );
  
  if (c.moveToFirst() &amp;&amp; c != null) {
      SimpleCursorAdapter adapter = new SimpleCursorAdapter(
          this,
          R.layout.names_listview,
          c,
          new String[] {
              BowlersDB.FIRST_NAME, BowlersDB.LAST_NAME
          },
          new int[] {
              R.id.bListTextView, R.id.bListTextView2
          },
          0
      );
      lv.setAdapter(adapter);
      lv.setOnItemClickListener(new OnItemClickListener() {
  
          @Override
          public void onItemClick(AdapterView&lt;?&gt; arg0, View v, int position, long id) {
              bowlerClickedID = id;
              updateName(id);
          }
      });
      d.show();
  }
  c.close();
  </code></pre>
  
  <p>error</p>
  
  <pre><code>android.database.StaleDataException: 
     Attempting to access a closed CursorWindow. 
     Most probable cause: cursor is deactivated prior to calling this method.
  
     at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:139)
     at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:50)
     at android.database.CursorWrapper.getString(CursorWrapper.java:114)
     at android.widget.SimpleCursorAdapter.bindView(SimpleCursorAdapter.java:150)
     at android.widget.CursorAdapter.getView(CursorAdapter.java:250)
     at android.widget.AbsListView.obtainView(AbsListView.java:2267)
     at android.widget.ListView.measureHeightOfChildren(ListView.java:1244)
     at android.widget.ListView.onMeasure(ListView.java:1156)
     at android.view.View.measure(View.java:15172)
     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390)
     at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
     at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
     at android.view.View.measure(View.java:15172)
     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
     at android.view.View.measure(View.java:15172)
     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
     at android.view.View.measure(View.java:15172)
     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390)
     at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
     at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
     at android.view.View.measure(View.java:15172)
     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
     at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2148)
     at android.view.View.measure(View.java:15172)
     ...
  </code></pre>
  
  <p>EDIT:
  If I comment out the <code>c.close()</code> line it works fine but I cant just leave the cursor open though so what do I do?</p>