子アクティビティの内容に合わせてタブのタイトルを更新したい。
ただし、私が呼び出すと:
TabActivity parent = (TabActivity) getParent();
TabHost parentHost = (TabHost) parent.getTabHost().findViewById(android.R.id.tabhost);
子では、プログラムがクラッシュします。* (StinePike に感謝) TabHost のインスタンスを取得できないことはわかっていますが、それでも、自分の TabActivity で定義されたメソッドを呼び出すことはできません。*
誰でも問題を発見して解決するのを手伝ってくれますか?
私のTabActivityセットアップ:
public class Tab extends TabActivity {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.tab);
final TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);
View newTab = (View) LayoutInflater.from(this).inflate(R.layout.tabmini, null);
TextView text0 = (TextView) newTab.findViewById(R.id.tab_label);
text0.setText("new tab");
tabHost.setup(this.getLocalActivityManager());
tabHost.setCurrentTab(1);
tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator(newTab).setContent(new Intent(this, BrowserActivity.class)));
}
public void addTab(String startPage){
//...Add a new Tab
}
public void setTabTitle(String title){
//...Set new title
}
}