I'm new to Android development so please bear with me.  I have created
an app in WebOS and I'm keen to try and re-create for the Android
platform.  I have tried to follow the tutorial for creating a tabbed
view and to some extent I have succeeded.  However, the problem that I
am having is that when I switch from tab to tab any text or graphics
is overwritting the tab elements and not displaying below the tabs
themselves.  I'm sure I've done something stupid that is easy to fix.

Here are the files that I have.  I have my main class which extends
TabActivity.  The code is as follows:

*package com.dtwconsulting.golfcaddie;

import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.widget.TabHost;

public class GolfCaddie extends TabActivity {
   /** Called when the activity is first created. */
   @Override

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

* *        Resources res = getResources(); // Resource object to get
Drawables
       TabHost tabHost = getTabHost();  // The activity TabHost
       TabHost.TabSpec spec;  // Resusable TabSpec for each tab
       Intent intent;  // Reusable Intent for each tab

* *        // Create an Intent to launch an Activity for the tab (to be
reused)
       intent = new Intent().setClass(this, MainActivity.class);

* *        // Initialize a TabSpec for each tab and add it to the TabHost
       spec = tabHost.newTabSpec("main").**setIndicator("Main",
                         res.getDrawable(R.drawable.ic_**tab_main))
                     .setContent(intent);
       tabHost.addTab(spec);

* *        // Do the same for the other tabs
       intent = new Intent().setClass(this, PlayersActivity.class);
       spec = tabHost.newTabSpec("players").**setIndicator("Players",
                         res.getDrawable(R.drawable.ic_**tab_players))
                     .setContent(intent);
       tabHost.addTab(spec);

* *        intent = new Intent().setClass(this, CoursesActivity.class);
       spec = tabHost.newTabSpec("courses").**setIndicator("Courses",
                         res.getDrawable(R.drawable.ic_**tab_courses))
                     .setContent(intent);
       tabHost.addTab(spec);

* *        tabHost.setCurrentTab(0);

* *    }

* *    public boolean onCreateOptionsMenu(Menu menu) {
       MenuInflater inflater = getMenuInflater();
       inflater.inflate(R.menu.main_**menu, menu);
       return true;
   }
}*

My R.layout.splashmain XML code is as follows:

*<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android";
   android:id="@android:id/**tabhost"
   android:layout_width="fill_**parent"
   android:layout_height="fill_**parent">
               <TabWidget  android:id="@android:id/tabs"
                       android:layout_width="fill_**parent"
                       android:layout_height="fill_**parent" />
       <FrameLayout android:id="@android:id/**tabcontent"
                        android:layout_width="fill_**parent"
                        android:layout_height="fill_**parent"
                        android:padding="5dp" />
</TabHost>*

In addition to the above I have a class file for each tab and a layout
file for each tab too.  To give an example of the main class and XML
layout file:

*package com.dtwconsulting.golfcaddie;

import android.app.Activity;* *
import android.os.Bundle;

public class MainActivity extends Activity {* *
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(**savedInstanceState);

* *        setContentView(R.layout.main);
   }
}

<?xml version="1.0" encoding="utf-8"?>* *
       <LinearLayout xmlns:android="http://schemas.android.com/apk/res/
android"
                             android:layout_width="wrap_**content"
                             android:layout_height="fill_**parent"
                             android:fitsSystemWindows="**true"
                             android:background="@drawable/**golfcaddie">
       </LinearLayout>
*
So, when this main tab is displayed the background image
(golfcaddie.png) completely displays on the entire screen over the top
of the tabs.  I've tried playing around with things but all to no
avail.  I either get the background overlaying the tabs, or I get
nothing at all.  I suspect that I am just not grasping these layouts
and how they interact.

Any help/direction on this would be much appreciated, and perhaps I am
not even doing this the best way.  I ended up Googling about doing a
tabbed view and was lead a little away from the Google docs.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to