Change the contents of the tabs to be views instead of activities... Activity tabs are not fully supported and have weird issues.
On Wed, Feb 23, 2011 at 7:56 AM, David Williams < [email protected]> wrote: > Sorry if this is a resend...been having issues emailing to the group. > ------ > > 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. > > -- > ------------------------------ > > David Williams > Check out our WebOS mobile phone app for the Palm Pre and Pixi: > <http://www.dtw-consulting.com/GolfCaddie> Golf > Caddie<http://www.dtw-consulting.com/GolfCaddie>| Golf > Caddie Forum <http://www.dtw-consulting.com/GolfCaddie/forum> | Golf > Caddie FAQ <http://www.dtw-consulting.com/GolfCaddie/faq.html> by > DTW-Consulting, Inc. > > > -- > 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 -- 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
<<GClogo.png>>

