使用未知数量的标签

时间:2015-04-21 14:59:19

标签: android android-activity tabs

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

1 个答案:

答案 0 :(得分:0)

您可以尝试如下,

  1. 从ActionBarActivity扩展您的活动并以编程方式添加所需数量的标签

    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();
    }
    }