使用http://developer.android.com/reference/android/widget/TabHost.OnTabChangeListener.html
例如:
mTabHost.setOnTabChangedListener(new OnTabChangeListener(){
@Override
public void onTabChanged(String tabId) {
if(TAB_1.equals(tabId)) {
//Do first activity task
}
if(TAB_2.equals(tabId)) {
//Do the other task...so on
}
}});
编辑:
如果你想看到一个特定的标签被点击时,你需要添加您的监听器本身,而不是TabHost。
的意见在制表实现的层次是:
TabHost
TabWidget
(tab)
(tab)
FrameLayout
凸片通过调用在运行时添加:tabHost.addTab(tabHost.newTabSpec( “”));您可以通过调用getTabWidget()。getChildAt(4);获得对各个选项卡的句柄。
实质上,您将OnClickListener添加到TabWidget的子项。您现在可以选取各个标签上的点击。但是,这将覆盖单击选项卡时更改内容的默认行为。因此,要让您的内容发生变化,您的OnClickListener将需要为您做这件事。
下面是一个完整的例子,它可以让你拦截单击事件,并更改选项卡下面的内容:
final String myTabTag = "My Tab";
final int myTabIndex = 3;
getTabHost().addTab(getTabHost().newTabSpec(myTabTag));
getTabWidget().getChildAt(myTabIndex).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (getTabHost().getCurrentTabTag().equals(myTabTag)) {
getTabHost().setCurrentTab(myTabIndex);
}
}
});
请提供详细的问题说明。当你想刷新标签让我们说,当用户点击标签,在一定的时间间隔? – 2011-04-13 09:53:53
是的。当我点击每个标签时,我想要刷新活动 – unnamed 2011-04-13 09:54:48