ArrayAdapter - What am I doing wrong?
<p>I have a ListActivity that I'm trying to bind to an array of business objects using a custom ArrayAdapter.</p>

<p>When I run the application on either the emulator or the real android device I get a null reference in the ArrayAdapter on the line "holder.txtTeam1.setText(info.Team1);".  After doing some debugging it looks like the call to inflate the layout didn't actually create the child TextViews, it only created the outter TableLayout.</p>

<p>This is all based on a tutorial I found on the internet, and I've been banging my head off the desk for almost a week on this one.  Can anyone tell me what I'm doing wrong?</p>

<p>The activity looks like this:</p>

<pre><code>    public class BaseballPressActivity extends ListActivity {

    private GameDataAdapter adapter;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        adapter = new GameDataAdapter(this, new GameData[]{new GameData("3:10pm","Team 1","Team 2")});
        this.setListAdapter(adapter);
        }
    }
</code></pre>

<p>The ArrayAdapter looks like this:</p>

<pre><code>public class GameDataAdapter extends ArrayAdapter&lt;GameData&gt; {

Context context;
GameData data[] = null;

public GameDataAdapter(Context context, GameData[] data) {
    super(context,R.layout.listitem_game, R.id.Name1, data);

    this.context = context;
    this.data = data;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View row = convertView;
    GameViewHolder holder = null;

    if(row == null)
    {
        LayoutInflater inflater = ((Activity)context).getLayoutInflater();
        row = inflater.inflate(R.layout.test , parent, false);

        holder = new GameViewHolder();
        holder.txtTeam1 = (TextView)row.findViewById(R.id.Name1);

        row.setTag(holder);
    }
    else
    {
        holder = (GameViewHolder)row.getTag();
    }

    GameData info = data[position];
    holder.txtTeam1.setText(info.Team1);

    return row;
}

static class GameViewHolder
{
    TextView txtTeam1;
    TextView txtTeam2;
    TextView txtGameTime;
}

}
</code></pre>

<p>And the layout for the list activity item looks like this:</p>

<pre><code>    &lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;TableLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"&gt;
    &lt;TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content"&gt;
        &lt;TextView android:text="TextView" android:layout_weight="0" android:id="@+id/textView1" android:layout_height="wrap_content" android:layout_width="0dp"&gt;&lt;/TextView&gt;
        &lt;ImageView android:id="@+id/imageView1" android:src="@drawable/icon" android:layout_height="wrap_content" android:layout_weight="0" android:layout_width="0dp"&gt;&lt;/ImageView&gt;
        &lt;LinearLayout android:id="@+id/linearLayout1" android:orientation="vertical" android:layout_height="wrap_content" android:layout_weight="1" android:layout_width="0dp"&gt;
            &lt;TextView android:text="TextView" android:id="@+id/Name1" android:layout_width="wrap_content" android:layout_height="wrap_content"&gt;&lt;/TextView&gt;
            &lt;TextView android:text="TextView" android:id="@+id/Name2" android:layout_width="wrap_content" android:layout_height="wrap_content"&gt;&lt;/TextView&gt;
        &lt;/LinearLayout&gt;
        &lt;ImageView android:id="@+id/imageView2" android:src="@drawable/icon" android:layout_height="wrap_content" android:layout_weight="0" android:layout_width="0dp"&gt;&lt;/ImageView&gt;
    &lt;/TableRow&gt;
    &lt;/TableLayout&gt;
</code></pre>
