setCurrentTab Android

Posted by Ali on Stack Overflow See other posts from Stack Overflow or by Ali
Published on 2011-02-16T08:28:12Z Indexed on 2012/06/08 10:40 UTC
Read the original article Hit count: 467

Filed under:

i have 4 tabs on my main screen,

main ( set to current ) , Call, Email, Web

When a user clicks on any of tab call, email or web, it starts making a call, or go to compose a email, or opens up the browser respectfully.

Problem is, i want just three tabs (Call, Email, Web) and i Dont want any tab to be selected by default, means they should only become active when a user Touch them..(a call or any service cant be main at all)

All java coding, XML file, and Manifest code is given below,

XML File (tab_activity_layout)

<?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">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp">
    <RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
             />
                  <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="5dp"></FrameLayout>

    </RelativeLayout>
    </LinearLayout>
</TabHost>

Java Coding (MainTabActivity)

package com.NVT.android;

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

public class MainTabActivity extends TabActivity{

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

            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, Main.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_artists_grey))
                          .setContent(intent);
            tabHost.addTab(spec);

            TabHost host=getTabHost();

            host.addTab(host.newTabSpec("one")
                    .setIndicator("Call")
                    .setContent(new Intent(this, CallService.class)));

            host.addTab(host.newTabSpec("two")
                    .setIndicator("Email")
                    .setContent(new Intent(this, EmailService.class)));

            host.addTab(host.newTabSpec("three")
                    .setIndicator("Web")
                    .setContent(new Intent(this, WebService.class)));

        }

        }

Manifest file

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.NVT.android"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">

            <activity android:name=".Main"
                  android:label="@string/app_name">
<!--            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter> -->
        </activity>

        <activity android:name=".MainTabActivity"
                  android:label="@string/app_name">
              <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter> 
        </activity>


        <activity android:name=".Courses">
        </activity>
        <activity android:name=".CampusMap">
        </activity>
        <activity android:name=".GettingHere">
        </activity>
        <activity android:name=".ILoveNescot">
        </activity>


        <activity android:name=".FurtherEducationCourses">
        </activity>
        <activity android:name=".HigherEducationCourses">
        </activity>
        <activity android:name=".EmployersTrainingCourses">
        </activity>
        <activity android:name=".WebService">
        </activity>
        <activity android:name=".CallService">
        </activity>
        <activity android:name=".EmailService">
        </activity>








    </application>
    <uses-sdk android:minSdkVersion="9" />
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET" />
</manifest> 

© Stack Overflow or respective owner

Related posts about android