我想根据儿童活动的内容更新标签的标题。
然而,当我打电话时:
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
}
}
答案 0 :(得分:2)
来自儿童电话
RootActivity parentActivity;
parentActivity = (YourRootActivity) this.getParent();
parentActivity.setTitle(title);
在父级定义setTitle(String s)
方法
public void setTitle(String s){
// set title here
}
答案 1 :(得分:0)
不推荐使用TabActivity(http://developer.android.com/reference/android/app/TabActivity.html)。请考虑使用其他东西: