TabHost 选项发生变化时会触发OnTabChangedListener事件,但是如果当前已经选中第一项,再次单击该项时,OnTabChangedListener不会触发该事件,所以再次单击选中tab项时,想处理页面内容,会比较麻烦,因为没有事件触发
getTabWidget().getChildAt(0).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
tabHost.setCurrentTab(0);
}
});
通过以上方法,再次单击选中项时就会触发onClick事件,再该事件中处理对应操作即可
转载自:http://lovezhou.iteye.com/blog/1054619
循环设置每个tab的单击事件:
for(int i = 0; i < mTabHost.getTabWidget().getChildCount(); i++) {
final int index = i;
mTabHost.getTabWidget().getChildAt(i).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mTabHost.setCurrentTab(index);
// custom code goes here
}
});
}