我构建的应用程序,提供从 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();
}
}