【问题标题】:how to the hide fragment switcher tabs allways如何始终隐藏片段切换选项卡
【发布时间】:2014-04-03 22:16:38
【问题描述】:

大家好,我正在制作一个应用程序,基本上我想知道是否可以隐藏这些选项卡以进行片段切换 如果您需要我的任何代码,请询问,只有片段和选项卡和即时消息不知道什么是有益的谢谢。

public class HomeMediaFragment extends Fragment implements
    ActionBar.TabListener, ViewPager.OnPageChangeListener{

ListView list;

private ViewPager viewPager;
private MediaFragment mAdapter;

private ActionBar actionBar;
// Tab titles
private String[] tabs = { "The Time the School Almost (Actually) Burned Down", "The time the math exams were almost cancelled", "The Time NT almost didn't get a new School"," The time the old school almost fell down","The Time NT almost got a new pool","The Time We Almost Killed Graffiti","The Time the Exams Almost Got Destroyed","The Time we had a snow day","The Time The School Almost Fell Down", "+2" };

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View v = inflater.inflate(R.layout.fragment_media, container, false);



    viewPager = (ViewPager) v.findViewById(R.id.pager);
    actionBar = getActivity().getActionBar();
    mAdapter = new MediaFragment(getChildFragmentManager());

    if(actionBar.getTabCount() > 0){
        actionBar.removeAllTabs();
    }
    viewPager.setAdapter(mAdapter);
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    // Adding Tabs
    for (String tab_name : tabs) {
        actionBar.addTab(actionBar.newTab().setText(tab_name)
                .setTabListener(this));


    }

    /**
     * on swiping the viewpager make respective tab selected
     * */
    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

        @Override
        public void onPageSelected(int position) {
            // on changing the page
            // make respected tab selected
            actionBar.setSelectedNavigationItem(position);
        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
        }

        @Override
        public void onPageScrollStateChanged(int arg0) {
        }
    });

    return v;
}




@Override
public void onTabSelected(Tab tab, android.app.FragmentTransaction fragmentTransaction) {

    viewPager.setCurrentItem(tab.getPosition());
}

@Override
public void onTabUnselected(Tab tab, android.app.FragmentTransaction fragmentTransaction) {

}

@Override
public void onTabReselected(Tab tab, android.app.FragmentTransaction fragmentTransaction) {

}

@Override
public void onDestroyView() {
    // TODO Auto-generated method stub
    super.onDestroyView();
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);

}

@Override
public void onPageScrolled(int i, float v, int i2) {

}

@Override
public void onPageSelected(int i) {

}

@Override
public void onPageScrollStateChanged(int i) {

}
}

【问题讨论】:

  • 如果您可以发布用于设置菜单的代码,将会很有帮助。它可能在封闭的活动中,而不是片段本身。
  • 它很长,但我添加了托管活动

标签: android tabs fragment


【解决方案1】:

取出这些行:

actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    // Adding Tabs
    for (String tab_name : tabs) {
        actionBar.addTab(actionBar.newTab().setText(tab_name)
                .setTabListener(this));


    }

还有这些:

@Override
public void onTabUnselected(Tab tab, android.app.FragmentTransaction fragmentTransaction) {

}

@Override
public void onTabReselected(Tab tab, android.app.FragmentTransaction fragmentTransaction) {

}

第一组行是将导航模式设置为选项卡,如果您只是切换片段并将选项卡添加到视图,则不需要这样做。第二个只是第一部分中从 .setTabListener 调用的侦听器。

【讨论】:

  • 标签仍然存在,它们仍然可以正常工作,有什么想法吗??
  • 尝试删除第一行中的“implements ActionBar.Tablistener”和“actionBar.setSelectedNavigationItem(position);”在你的 onPageSelected 函数中。
  • "实现 ActionBar.Tablistener" 我已经删除以删除错误 "actionBar.setSelectedNavigationItem(position);"不会让标签消失
  • 嗯...我在这里有点茫然,我的最后一个建议是把“actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);”你以前有 NAVIGATION_MODE_TABS 的地方。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多