我想更改Android标签小部件的背景。所以我使用了这段代码
public static void setTabColor(TabHost tabhost) {
for (int i = 0; i < tabhost.getTabWidget().getChildCount(); i++) {
tabhost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#FFFFFF")); //unselected
}
tabhost.getTabWidget().getChildAt(tabhost.getCurrentTab()).setBackgroundColor(Color.parseColor("#000000")); // selected
}
为了更改每个标签的颜色,我必须在类onTabChangedListener
的对象上实现TabHost
。
tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
public void onTabChanged(String tabId) {
}
});
现在,我的问题是:当我没有setTabColor()
个对象作为参数传递时,如何从onTabChanged
调用方法TabHost
?
答案 0 :(得分:2)
您可以设置tabHost
变量final
,然后您可以在OnTabChangeListener中引用它。像这样的另一个解决方案是使tabHost
成为Activity的成员变量,这样你就可以随时引用它。
或者,如果您使用TabActivity,则可以随时致电getTabHost()
。