使用未知数量的标签

Using unknown number of tabs

我想创建一个可以显示任意数量标签的 activity,而不是为每个标签创建一个 activity。
可能吗?
我看到创建选项卡的唯一方法包括为每个选项卡创建一个 activity。

您可以尝试如下,

  1. 从 ActionBarActivity 扩展您的 activity 并以编程方式添加所需数量的选项卡,

    ActionBar.TabListener tabListener;
    mactionBar = getActionBar();
    mactionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    
    tabListener=new ActionBar.TabListener() {
        @Override
        public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
            displayTabs(tab.getPosition());
        }
    
        @Override
        public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
    
        }
    
        @Override
        public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
            displayTabs(tab.getPosition());
        }
    };
    
    mactionBar.addTab(mactionBar.newTab().setText(<any text>).setTabListener(tabListener));
    //call the same method for required number of tabs
    
  2. 为每个选项卡点击调用相同的片段

    private void displayTabs(int position)
    {
    Fragment fragment = null;
    switch (position) {
    case 0:
        fragment = new YourFragment();
        break;
    case 1:
        fragment = new YourFragment();
        break;
    
    // same for required numder of cases
    
    
    default:
        break;
    }
    
    if (fragment != null)
    {
        FragmentManager fragmentManager = getSupportFragmentManager();
        fragmentManager.beginTransaction().replace(<container id>, fragment).commit();
    }
    }