android buttons in tabs disappear with api under 11
<p>I'm an Android noob and I'm writing an application that has 3 tabs with buttons added to the tabs dynamically in code.  This works fine with API 11 or up, but not with any lower API.  I don't get an error message with a lower API, the buttons just don't display.  However, I can click/touch just under the tab title and the button will fire properly.  My code is below.  Any ideas?  Thanks!</p>

<pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" &gt;

    &lt;TabHost
        android:id="@+id/tabhost"
        android:layout_width="match_parent"
        android:layout_height="match_parent" &gt;

        &lt;LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" &gt;

            &lt;TabWidget
                android:id="@android:id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" &gt;
            &lt;/TabWidget&gt;

            &lt;FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent" &gt;

                &lt;LinearLayout
                    android:id="@+id/Beginning"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical" &gt;
                &lt;/LinearLayout&gt;

                &lt;LinearLayout
                    android:id="@+id/Intermediate"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical" &gt;
                &lt;/LinearLayout&gt;

                &lt;LinearLayout
                    android:id="@+id/Advanced"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical" &gt;
                &lt;/LinearLayout&gt;
            &lt;/FrameLayout&gt;
        &lt;/LinearLayout&gt;
    &lt;/TabHost&gt;

&lt;/LinearLayout&gt;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        TabHost tabhost = (TabHost) findViewById(R.id.tabhost);
        tabhost.setup();

        TabSpec spec_beg = tabhost.newTabSpec("Beginning");
        spec_beg.setContent(R.id.Beginning);
        TextView txtTabInfo = new TextView(this);
        txtTabInfo.setText("JUST STARTING");
        Typeface font = Typeface.createFromAsset(getAssets(), "danielbd.ttf");
        txtTabInfo.setTypeface(font);
        txtTabInfo.setGravity(Gravity.CENTER);
        txtTabInfo.setHeight(50);
        txtTabInfo.setBackgroundColor(Color.parseColor("#CCDE8A"));
        txtTabInfo.setTextColor(Color.parseColor("#262405"));
        spec_beg.setIndicator(txtTabInfo);

        TabSpec spec_int = tabhost.newTabSpec("Intermediate");
        spec_int.setContent(R.id.Intermediate);
        txtTabInfo = new TextView(this);
        txtTabInfo.setText("GETTING THERE");
        txtTabInfo.setTypeface(font);
        txtTabInfo.setGravity(Gravity.CENTER);
        txtTabInfo.setHeight(50);
        txtTabInfo.setBackgroundColor(Color.parseColor("#CCDE8A"));
        txtTabInfo.setTextColor(Color.parseColor("#262405"));
        spec_int.setIndicator(txtTabInfo);

        TabSpec spec_adv = tabhost.newTabSpec("Advanced");
        spec_adv.setContent(R.id.Advanced);
        txtTabInfo = new TextView(this);
        txtTabInfo.setText("REALLY GOOD");
        txtTabInfo.setTypeface(font);
        txtTabInfo.setGravity(Gravity.CENTER);
        txtTabInfo.setHeight(50);
        txtTabInfo.setBackgroundColor(Color.parseColor("#CCDE8A"));
        txtTabInfo.setTextColor(Color.parseColor("#262405"));
        spec_adv.setIndicator(txtTabInfo);

        // get data from database, create buttons and name them
        SQLData myTable = new SQLData(this);
        myTable.open();
        Cursor c = myTable.getallData();

        int iRow = c.getColumnIndex(KEY_ROWID);
        int iName = c.getColumnIndex(KEY_STITCHNAME);
        int iLevel = c.getColumnIndex(KEY_LEVEL);

        // create the buttons
        for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
            final String RowNum = c.getString(iRow);
            String StitchName = c.getString(iName);
            String StitchLevel = c.getString(iLevel);
            Button button = new Button(this);
            button.setText(StitchName);
            button.setHeight(20);
            button.setTextColor(Color.BLACK);
            button.setBackgroundColor(Color.parseColor("#A89E0A"));
            button.setHighlightColor(Color.WHITE);
            button.setTypeface(font);
            button.setOnClickListener(new Button.OnClickListener() {

                public void onClick(View v) {
                    Intent choice = new Intent(getApplicationContext(),
                            com.KnitCard.project.KnitCard.class);
                    Bundle dataBundle = new Bundle();
                    dataBundle.putString("RowID", RowNum);
                    choice.putExtras(dataBundle);
                    try{
                    startActivity(choice);
                    }catch(Exception e){
                        Dialog d = new Dialog(getApplicationContext());
                        d.setTitle("Boo!");
                        TextView tv = new TextView(getApplicationContext());
                        tv.setText(e.toString());
                        d.setContentView(tv);
                        d.show();
                    }finally{

                    }
                }
            });

            LinearLayout lbeg = (LinearLayout)findViewById(R.id.Beginning);
            LinearLayout lint = (LinearLayout)findViewById(R.id.Intermediate);
            LinearLayout ladv = (LinearLayout)findViewById(R.id.Advanced);

            if (StitchLevel.equals("Beginning"))
                lbeg.addView(button);
            else if (StitchLevel.equals("Intermediate"))
                lint.addView(button);
            else if (StitchLevel.equals("Advanced"))
                ladv.addView(button);
        }

        tabhost.addTab(spec_beg);
        tabhost.addTab(spec_int);
        tabhost.addTab(spec_adv);

        myTable.close();

    }
</code></pre>
