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

解决方案 »

  1.   

    当切换到那个选项卡时:
    在事件中判断:
            @Override
    public void onTabChanged(String tabId) {
    if("your special tag".equals(tabId)){
    TabHost tabs = getTabHost();
                            tabs.setCurrentTabByTag(preTab);
    }else{
                            preTab = tag; 
                    }
    }
    几句代码搞定
      

  2.   


    @Override
    public void onTabChanged(String tabId) {
    if(tags.length>2 && tags[3].equals(tabId)){
    ((BaseAdapter)listView.getAdapter()).notifyDataSetChanged();
    }
    if ("your special tag".equals(tabId)) {
    TabHost tabs = getTabHost();
    tabs.setCurrentTabByTag(preTab);
    } else {
    preTab = tabId;
    }
    }
      

  3.   


    @Override
    public void onTabChanged(String tabId) {
    if ("your special tag".equals(tabId)) {
    TabHost tabs = getTabHost();
    tabs.setCurrentTabByTag(preTab);
    } else {
    preTab = tabId;
    }
    }
    上面的写错了 不小心把自己的代码带进来
      

  4.   

    "your special tag"和preTab指什么呢?谢谢
      

  5.   


    @Override    public void onTabChanged(String tabId) {     
        if ("your special tag".equals(tabId)) {       
          TabHost tabs = getTabHost();            
          tabs.setCurrentTabByTag(preTab);         
        } else {         
            preTab = tabId;         
        }     
    }
    楼上的代码可行,但是有个问题,就是这样做的话,点击不需要切换的more按钮的时候,不能实现像其他按钮一样,有点击后的背景等,不知道楼主这个问题是怎么解决的 
      

  6.   


    your special tag    指的是你的tabhost传进去的id
    preTab   是上一个tabhost的id,默认给第一个tabhost的id就行