title: Custom ViewGroup, GridView, and SimpleCursorAdapter
body: <p>I need to display data in 3 textviews, inside each grid item, but also I want each grid item to be square. Also the cursoradapter is all based on a search.</p>
  
  <p>Based on my necessities I found by research that I should be creating my own viewgroup for each grid item and setting the height to be the same as the width (in onMeasurement), which produces proper squares. But now my data from the cursoradapter will not show up in the views.</p>
  
  <p>I can tell that the cursoradapter is being referenced because the number of white boxes in the gridview changes depending on what I search. </p>
  
  <p>Where am I going wrong?</p>
  
  <pre><code>&lt;ubiquia.sqbxsync.main.GridViewGroup
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:background="#ffffff"&gt;
  
  &lt;RelativeLayout
      android:id="@+id/gridLayout"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="#ffffff"&gt;
  
      &lt;TextView
          android:id="@+id/textView1"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignParentLeft="true"
          android:layout_alignParentTop="true"
          android:ellipsize="end"
          android:singleLine="true"
          android:text="TextView"
          android:textSize="15dp"
          android:textColor="#ff000000" /&gt;
  
      &lt;TextView
          android:id="@+id/textView2"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignParentLeft="true"
          android:layout_below="@+id/textView1"
          android:layout_marginLeft="10dp"
          android:ellipsize="end"
          android:singleLine="true"
          android:text="TextView"
          android:textSize="11dp"
          android:textColor="#ff000000" /&gt;
  
      &lt;TextView
          android:id="@+id/textView3"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_below="@+id/textView2"
          android:layout_marginLeft="10dp"
          android:ellipsize="end"
          android:singleLine="true"
          android:text="TextView"
          android:textSize="11dp"
          android:textColor="#ff000000" /&gt;
  
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p></p>
  
  <pre><code>package ubiquia.sqbxsync.main;
  
  import android.content.Context;
  import android.util.AttributeSet;
  import android.view.ViewGroup;
  
  public class GridViewGroup extends ViewGroup {
  
      public GridViewGroup(Context context, AttributeSet attrs) {
          super(context, attrs);
      }
  
      @Override
      protected void onLayout(boolean changed, int l, int t, int r, int b) {
       // Do nothing   
      }
  
      @Override
      protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
          super.onMeasure(widthMeasureSpec, widthMeasureSpec);
      }  
  }
  </code></pre>
  
  <p>My CursorAdapter</p>
  
  <pre><code>public class GridCursorAdapter extends CursorAdapter {
  
      public GridCursorAdapter(Context context, Cursor c) {
          super(context, c);
      }
  
      @Override
      public View newView(Context context, Cursor cursor, ViewGroup parent) {
          LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
          View gridView = inflater.inflate(R.layout.grid_item, null, true);
          return gridView;
      }
  
      @Override
      public void bindView(View view, Context context, Cursor cursor) {
          TextView tv1 = (TextView) view.findViewById(R.id.textView1);
          TextView tv2 = (TextView) view.findViewById(R.id.textView2);
          TextView tv3 = (TextView) view.findViewById(R.id.textView3);
          tv1.setText(cursor.getString(cursor.getColumnIndexOrThrow("trackingnumber")));
          tv2.setText(cursor.getString(cursor.getColumnIndexOrThrow("recipient_name")));
          tv3.setText(cursor.getString(cursor.getColumnIndexOrThrow("carrier_name")));
      }
  }
  </code></pre>