如何给出每个片段的id并使用它 标签片段安卓.



我构建的应用程序,提供从 TABFragment 中自定义添加和删除选项卡。 现在我想给出我创建自定义的每个选项卡的 ID。 并获取我确切位置的 ID。我也用过tab.getPosition但它给了我我确切的位置。例如,我创建了五个页面。现在,当我是第 4 个选项卡时,然后我想在后台进行第 5 个选项卡 ID 第 5 页进度。请给我最好的建议和任何问候。谢谢

我的添加按钮代码。

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

您可以通过标签轻松识别各个选项卡。 只需为每个选项卡设置标签并根据您的情况执行操作即可。 即

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

要处理选项卡的单击事件,您必须覆盖 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();
        }
    }

最新更新