2011-06-30 60 views
2

我已創建MyTabActivity,並使用兩個選項卡來擴展TabActivity類。根據選定的活動選項卡數據動態更改TabActivity標題

public class MyTabActivity extends TabActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

     setTitle("My App Name"); 

     final TabHost tabHost = getTabHost(); 

     tabHost.addTab(tabHost.newTabSpec(TAB_1).setIndicator(TAB_1, getResources().getDrawable(R.drawable.tab1)).setContent(new Intent(this, first.class))); 

     tabHost.addTab(tabHost.newTabSpec(TAB_2).setIndicator(TAB_2, getResources().getDrawable(R.drawable.tab2)).setContent(new Intent(this, second.class))); 

     tabHost.setOnTabChangedListener(new OnTabChangeListener() { 

     public void onTabChanged(String tabId) { 

      } 
     }); 

     tabHost.setCurrentTabByTag(TAB_1); 
    } 
} 

我需要根據活動數據之一的變化來更改MyTabActivity的標題。

public class first extends Activity { 
    public void onCreate(Bundle bundle) { 
     super.onCreate(bundle); 
     //change the MyTabActivity title from here ??? 
    } 

} 

請幫助我該怎麼做。

感謝

回答

1

你可以得到你的TabActivity裏面的孩子Activity這樣。 如果你在FirstActivitySecondActivity嘗試這樣的事情。

MyTabActivity myTabs = (MyTabActivity) this.getParent(); 
myTabs.setTitle("This is First cool Activity"); 

你可以在SecondActivity中做同樣的事情。

乾杯!

+0

感謝您回答adil,但它不工作。我需要在設置標題後調用任何UI刷新類型的功能? – Rishi

+0

其實我的FirstActivity是從ListActivity擴展的,這是它沒有發生的問題? – Rishi

相關問題