我正在尝试使用 Fragment Tabs Pager 示例: API 4+ Support Demos/Fragment Tabs Pager并添加删除选项卡的功能,因为我需要能够添加和删除选项卡。
我试过了:
public void removeTab(int position) {
mTabHost.getTabWidget().removeView(mTabHost.getTabWidget().getChildTabViewAt(position));
}
但这不起作用。
我还尝试删除所有选项卡并使用最初添加选项卡时存储的 tabSpec 重新添加它们:
public void removeTab(int position) {
mTabHost.setCurrentTab(0);
mTabHost.clearAllTabs();
ArrayList<TabInfo> mNewTabs = new ArrayList<TabInfo>();
mTabs.remove(position);
int len = mTabs.size();
for (int i = 0; i < len; i++) {
TabInfo info = new TabInfo(mTabs.get(i).tag, mTabs.get(i).clss, mTabs.get(i).args, mTabs.get(i).tabSpec);
mNewTabs.add(info);
}
mTabs.clear();
mViewPager.removeAllViews();
mTabHost.getTabWidget().getChildAt(position).setVisibility(View.GONE);
for (int i = 0; i < len; i++) {
addTab(mNewTabs.get(i).tabSpec, mNewTabs.get(i).clss, mNewTabs.get(i).args);
}
notifyDataSetChanged();
}
这将删除选项卡,但是当对选项卡进行了实例化时,然后在添加新选项卡时显示原始片段。
谁能帮我解决这个问题,即能够删除和添加选项卡或替换选项卡中的片段。