android - 如何从 FragmentTabHost 中删除 tabspec?

标签 android fragment

我有一个 fragment ,在其中,我声明了一个 FragmentTabHost。

public class ComFragment extends Fragment{

    ...
    private FragmentTabHost mTabhost;
    ...

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        ...
        return mTabhost;
    }
    ...
    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        super.onCreateOptionsMenu(menu, inflater);
        inflater.inflate(R.menu.com_tabhost, menu);
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        ...
        switch (item.getItemId()) {
        case R.id.action_clear:

            break;
        case R.id.action_close:
            int index = mTabhost.getCurrentTab();
            /*\ How can i remove current tab at here?*/
            break;
        default:
            break;
        }
        return true;
    }
}

单击项目时如何删除当前的 tabspec?

最佳答案

不幸的是,一旦将 TabSpec 添加到 FragmentTabHost,就无法访​​问它。您必须在类中定义一些数据结构(可能是 Map 或派生类),在类中存储每个选项卡的 TabSpec,当您想要删除一个时,你必须在 FragmentTabHost 上调用 .clearAllTabs() 并循环你的 Map 以再次添加所有 TabSpec除了您要删除的那个。

关于android - 如何从 FragmentTabHost 中删除 tabspec?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23154325/

相关文章:

android - NullPointerException 上下文静态方法

java - Android ListView 着色项目

android - 有时 GestureDetector 会跳过 onFling

java - 在 Retrofit 上观察 Observable 时发生 OnError

Android:我的 imageview 旋转了,但它的触摸区域没有

android - 带有错误数据的 Firebase 查询不会给出任何回调

android - 如何将字符串数据从 Activity 传递到 fragment ?

java - 更改屏幕 fragment 后崩溃

android - 嵌套 fragment

java - 在 Activity 中重用 fragment 类