请问Tabhost建立切换卡,在点击某一个Tab时不让它切换出现问题?

我做了一个Tab切换卡的应用,Tab卡包括A,B,C,more,我想点击A,B,C时都切换到各自的Activity,但唯独more选项卡点击时不会切换任何Tab,只是弹出一个菜单用来选择。
我试过用OnTabChangeListener监听Tab的切换,但发现都是切换完毕后程序才走到这里,所以请教一下如何在切换前捕获到事件?
还有我如何在具有TabHost的Activity中去改变和操作子Tab的Activity中的控件状态及其变量?
希望了解的人,能帮忙解答下。谢谢!

当切换到那个选项卡时:
在事件中判断:

@Override
    public void onTabChanged(String tabId) {
        if ("your special tag".equals(tabId)) {
            TabHost tabs = getTabHost();
            tabs.setCurrentTabByTag(preTab);
        } else {
            preTab = tabId;
        }
    }

Tabhost并不好用,有很多致命缺点。我是直接放了5个图标在屏幕下面,点击切换界面。