0%

TabHost 程序切换标签

TabHost里,有时候为了方便用户使用,会让程序自动切换标签,而还是让用户自己在标签上点来切换。今天我们就学习这个程序切换标签的方法。

package com.pocketdigi;

import android.app.TabActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TabHost;

public class main extends TabActivity {
    TabHost tabHost;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTitle("Tab测试");
        tabHost = getTabHost();
        LayoutInflater.from(this).inflate(R.layout.main,tabHost.getTabContentView(), true);
        tabHost.addTab(tabHost.newTabSpec("A").setIndicator("tab1").setContent(R.id.tab1));
        tabHost.addTab(tabHost.newTabSpec("B").setIndicator("tab2").setContent(R.id.tab2));
        tabHost.addTab(tabHost.newTabSpec("C").setIndicator("tab3").setContent(R.id.tab3));
        Button b1=(Button)findViewById(R.id.widget30);
        b1.setOnClickListener(b1click);
    }
    OnClickListener b1click=new OnClickListener(){
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            tabHost.setCurrentTabByTag("B");
            //tabHost.setCurrentTab(1);
        }
        
    };

}

第28、29行的作用是一样的,都是切换到第二个标签。28行是通过Tab的tag(就是上面设置的newTabSpec),第29行是通过Tab序号来切换,这个序号是自动生成的,从为0开始递增