如题 
请问 如何实现选项卡    不用tabactivity(过期) 不用activitygroup(过期)  不用LocalActivityManager(过期)  也不用Fragment(不好用)   然后每个tab是一个activity

解决方案 »

  1.   

    简单,你每个activity的顶部都放一个TabHost,这样你还可省一个activity。
      

  2.   

    同问,android 3.x以上就推荐使用Fragment技术了,在android-support-v4.jar里有FragmentTabHost,但我按官方的sample就出错,请高人现身。
      

  3.   


    感谢分享  你不说我真不不知道有这个类  等我弄好了再给你发个demo
      

  4.   

    Fragment使用可以参考Settings源码         其他的方式实现 可以参考Contents源码
      

  5.   

    已经找到兼容性TabHost了  FragmentTabHost
      

  6.   

    据说FragmentTabHost在2.2 2.3上不太灵光,http://code.google.com/p/android/issues/detail?id=40035 用这个还是等等再说。我选用的还是activity和TabHost,但是在一个activity内折腾。见http://blog.csdn.net/west8623/article/details/7453814你们怎么看? 选FragmentTabHost如何考虑兼容2.2 2.3的用户?
      

  7.   


    你这个例子的选项卡是view   但是我的需求是选项卡里面是activity   也就是有生命周期的   所以你的基本没什么用处   很多应用的选项卡里面都有大量的事情要处理  考虑的东西也很多   Fragment就能实现Activity那种拥有一整套生命周期的效果
      

  8.   

    以为你是出难题,我的回答只是抬扛。
    不过你要是2.2不兼容,我的建议还是可以考虑的。一般用的activity和TabHost组合,是在一个activity内折腾;你只要一模一样做几个,在监听器实现跳转; mTabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
    @Override
    public void onTabChanged(String tabId) {
    // TODO Auto-generated method stub if (tabId.equals("tab1")) {
    currentTab = "tab1";
    } else if (tabId.equals("tab2")) {
    currentTab = "tab2";
    } else if (tabId.equals("tab3")) {
    currentTab = "tab3";
    } else if (tabId.equals("tab4")) {
    currentTab = "tab4";
    } }
    });
    跳转到新的activity;用mTabHost.setCurrentTab()设定当前Tab;这样也拥有一整套生命周期的效果,功能上估计也一样;只是不会推兼。
      

  9.   


    你没用过tabhost吧   看你说的就知道了   如果是tabhost+activity的组合   必须要用到localactivitymanager这个过期的类的     不然就会报错
      

  10.   


    一、如果用localactivitymanager,选项卡里面就可是activity;跳的话就在addTab这边做,Intent = new Intent(this, TestActivity.class);
    mTabHost.addTab(mTabHost
    .newTabSpec("tab1")
    .setIndicator("TAB1",
    getResources().getDrawable(R.drawable.gimp))
    .setContent(intent));
    二、如果选项卡只是viewgroup,是不需要localactivitymanager;我的意思是在监听器内跳,也就是onTabChanged(String tabId) {},这边用startActivity完成;这种做法不是官方推荐的做法;但如果2.2不兼容,而你又想你的程序寿命长一点,不用过期的方法,不见得不可取;三、我现在用的是activity和TabHost,在一个activity内折腾,是不需要localactivitymanager, 用得很好。
      

  11.   

    我刚才测试过了,跳转没问题,只是做几套一模一样的TabHost比较麻烦而已。