如何给出每个片段的id并使用它Tab Fragment android

时间:2014-12-31 04:23:42

标签: android android-fragments tabs android-studio

我构建的应用程序提供自定义添加和删除TABFragment标签。现在我想给我创建自定义的每个选项卡的id。并得到我到底的身份。我也使用tab.getPosition,但它给了我完全在哪里。例如,我创建了五页。现在,当我是第四个选项卡,然后我想在第五个选项卡id第五页进展背景下。请给我最好的建议和任何问候。谢谢你

我的添加按钮代码。

btNewtab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {


            actionBar.addTab(actionBar.newTab().setText("New Tabs")
                    .setTabListener(HomeActivity.this));  //Adding new tab

             COUNT_TAB+=1;  //Add tab for counting


            mAdapter.notifyDataSetChanged(); 
        }
    });

1 个答案:

答案 0 :(得分:1)

您可以轻松地通过标记识别各个标签。只需为每个标签设置标签,并在此基础上执行操作。即

 COUNT_TAB+=1;//put this line before so that you can use it as tag
   actionBar.addTab(actionBar.newTab().setText("New Tabs")
                    .setTabListener(HomeActivity.this).setTag(COUNT_TAB)); 

//如果要将选定的选项卡设置为与默认值不同,请设置true或false以指示应选择哪个选项卡。您也可以通过设置位置来更改添加的选项卡的位置。下面是代码,即

 actionBar.addTab(actionBar.newTab().setText("TAB1").setTag("tab1")
  .setTabListener(this),0,false);
 actionBar.addTab(actionBar.newTab().setText("TAB2").setTag("tab2")
  .setTabListener(this),1,true);
 actionBar.addTab(actionBar.newTab().setText("TAB3").setTag("tab3")
  .setTabListener(this),2,false);

//要处理选项卡的click事件,必须覆盖onTabSelected()方法   我已经提供了一些示例代码,希望它能为您提供帮助。

@Override
    public void onTabSelected(ActionBar.Tab tab,
            FragmentTransaction fragmentTransaction) {
        if (tab.getTag().equals("tab1")) {
            // When the given tab is selected, show the tab contents in the
            // container view.
            Fragment fragment = new DummySectionFragment();
            Bundle args = new Bundle();
            args.putInt("myvalues", 1);
            fragment.setArguments(args);
            getFragmentManager().beginTransaction()
                    .replace(R.id.container, fragment).commit();
        } else if (tab.getTag().equals("tab2")) {
            Toast.makeText(this, "two clicked", Toast.LENGTH_LONG).show();
        } else if (tab.getTag().equals("tab3")) {
            Toast.makeText(this, "three clicked", Toast.LENGTH_LONG).show();
        }
    }