/ *我只有一个带有父片段的Activity,tab片段包含由setViewPager()添加的子片段

tab1- childfragment,tab2-childfragment2,tab3-chldfragment3,现在在活动中的背板上如果我在tab3上我想要在tab1上
这里应该注意我使用tabfragment这是父片段不使用工具栏中的tablayout * /

@Override public void onBackPressed()

{
    //Toast.makeText(this, "exit", Toast.LENGTH_SHORT).show();
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    if (drawer.isDrawerOpen(GravityCompat.START))
    {

        drawer.closeDrawer(GravityCompat.START);
    }
                else
                      {

                          int fragments=getSupportFragmentManager().getBackStackEntryCount();
                          if(fragments>0)

                          {
                            getSupportFragmentManager().popBackStack();
                          //  Toast.makeText(this, "inside fragment", Toast.LENGTH_SHORT).show();
                            // super.onBackPressed();

                          }




                                  else {


                                      if (back_pressed + TIME_DELAY > System.currentTimeMillis()) {
                                          super.onBackPressed();
                                      }
                                      else {
                                          Toast.makeText(getBaseContext(), "Press once again to exit!",
                                                  Toast.LENGTH_SHORT).show();
                                      }
                                  }

                              back_pressed = System.currentTimeMillis();


                      }


                                }

//这是我的tablayout_fragment

公共类Tablayout_fragment扩展Fragment {

public static TabLayout tabLayout;
public static ViewPager viewPager;
private FragmentManager fm;
private FragmentTransaction ft;

private int[] tabIcons=
        {
                R.drawable.ic_home_black_24dp,
                R.drawable.ic_vegetables,
                R.drawable.ic_grain,
                R.drawable.ic_fruits,
                R.drawable.ic_cosmetics

        };

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    /**
     *Inflate tab_layout and setup Views.
     */
    View x =  inflater.inflate(R.layout.tab_layout,null);

//为每个标签设置viewpager

tabLayout = (TabLayout) x.findViewById(R.id.tabs);
    viewPager = (ViewPager) x.findViewById(R.id.viewpager);
    setupViewPager(viewPager);
    tabLayout.setupWithViewPager(viewPager);
    tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
    setupTabIcons();
    /**
     *Set an Apater for the View Pager
     */
    // viewPager.setAdapter(new MyAdapter(getChildFragmentManager()));

    /**
     * Now , this is a workaround ,
     * The setupWithViewPager dose't works without the runnable .
     * Maybe a Support Library Bug .
     */

 /*   tabLayout.post(new Runnable()
    {
        @Override
        public void run()
        {
            tabLayout.setupWithViewPager(viewPager);
        }
    });   */

    return x;

}
private void setupTabIcons()
{
    tabLayout.getTabAt(0).setIcon(tabIcons[0]);
    tabLayout.getTabAt(1).setIcon(tabIcons[1]);
    tabLayout.getTabAt(2).setIcon(tabIcons[2]);
    tabLayout.getTabAt(3).setIcon(tabIcons[3]);
    tabLayout.getTabAt(4).setIcon(tabIcons[4]);

}
private void setupViewPager(ViewPager viewPager)
{
    MyAdapter adapter = new MyAdapter(getChildFragmentManager());
    adapter.addFrag(new Home_fragments(), " Home ");
    adapter.addFrag(new Photo_Fragments(), "vegetables ");
    adapter.addFrag(new Movie_fragments()," Food Garins & oil ");
    adapter.addFrag(new Movie_fragments()," fruits ");
    adapter.addFrag(new Photo_Fragments()," Beauty& hygiene ");

    viewPager.setAdapter(adapter);


}

//适配器

class MyAdapter extends FragmentPagerAdapter
{

    private final List<Fragment> mFragmentList = new ArrayList<Fragment>();
    private final List<String> mFragmentTitleList = new ArrayList<String>();

    public MyAdapter(FragmentManager fm)
    {
        super(fm);


    }

    /**
     * Return fragment with respect to Position .
     */

    @Override
    public Fragment getItem(int position)
    {

        return mFragmentList.get(position);
    }

    @Override
    public int getCount()
    {

        return mFragmentList.size();

    }





    public void addFrag(Fragment fragment, String title)
    {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);


    }


    /**
     * This method returns the title of the tab according to the position.
     */

    @Override
    public CharSequence getPageTitle(int position) {



        return mFragmentTitleList.get(position);
    }


}

}