在Android中切换标签时,它构成了什么?

时间:2010-09-11 23:30:55

标签: android android-activity tabs

我有三个标签,每个标签都有自己的活动。当我切换标签时,我希望我的Spinner更新,但我不知道在Tab开关上调用什么方法。有什么帮助吗?

2 个答案:

答案 0 :(得分:3)

将一个监听器连接到TabHost.OnTabChangeListener。您的主要活动扩展了TabActivity,其onCreate方法可能如下所示:

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    TabHost tabHost = getTabHost();

    LayoutInflater.from(this).inflate(R.layout.tabs1, tabHost.getTabContentView(), true);

    tabHost.addTab(tabHost.newTabSpec("tab1")
            .setIndicator("tab1")
            .setContent(R.id.view1));
    tabHost.addTab(tabHost.newTabSpec("tab3")
            .setIndicator("tab2")
            .setContent(R.id.view2));
    tabHost.addTab(tabHost.newTabSpec("tab3")
            .setIndicator("tab3")
            .setContent(R.id.view3));
}

要连接侦听器,请在onCreate()方法中添加以下代码:

    tabHostt.setOnTabChangedListener(new OnTabChangeListener(){
    @Override
    public void onTabChanged(String tabId) {
        if(tabId.equals("tab1")) {
            //tab1
        }
        else if(tabId.equals("tab2")) {
            //tab2
        }
        else if(tabId.equals("tab3")) {
            //tab3
        }
    }
});

HTH

答案 1 :(得分:1)

这样的事情应该有效:

tabHost.setOnTabChangedListener(new OnTabChangeListener()
    {
        public void onTabChanged(String tabId)
        {
            //Do stuff in here
        }
    });