使用tabbed更改片段和工具栏

时间:2018-05-09 12:35:55

标签: android if-statement android-fragmentactivity fragmentpageradapter android-tabbed-activity

我使用switch创建tabbed和Fragment来通过tabbed来更改页面。 现在我想声明如果用户点击一个例如位置0就像聊天片段我的工具栏更改。

我不知道的是,我如何在我的结果类SectionsPagerAdapter选项卡上添加if语句来更改我之前创建的工具栏。 我在我的mViewPager或mTabLayout上做了一些if语句但是没有用。

我对SectionsPagerAdapter的活动:

     class SectionsPagerAdapter extends FragmentPagerAdapter{
            public SectionsPagerAdapter(FragmentManager fm) {
                super( fm );
            }

        @Override
        public Fragment getItem(int position) {

            switch (position) {
                case 0:
                    ChatsFragment chatsFragment = new ChatsFragment();
                    return chatsFragment;

                case 1:
                    ViewFragment viewFragment = new ViewFragment();
                    return viewFragment;

                case 2:
                    AccountFragment accountFragment = new AccountFragment();
                    return accountFragment;


                    default:
                        return null;



            }
        }
   @Override
    public int getCount() {
        return 3;
    }

    public CharSequence getPageTitle(int position){
        switch (position){

            case 0:
                return "Chats";

            case 1:
                return "View";

            case 2:
                return "Account";

            default:
                    return null;

        }

    }
}

主页中的我的代码:

mViewPager=(ViewPager)findViewById( R.id.main_tabPager );
mSectionPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager() );
        mViewPager.setAdapter( mSectionPagerAdapter );
        mTabLayout =(TabLayout) findViewById( R.id.main_tabs );
        mTabLayout.setupWithViewPager( mViewPager );

1 个答案:

答案 0 :(得分:0)

我解决了我的问题。

   mTabLayoutListener.addOnTabSelectedListener( new TabLayout.OnTabSelectedListener() {


     @Override
     public void onTabSelected(TabLayout.Tab tab) {
      int position = tab.getPosition();
       if (position ==0){
        //toolbar
             mToolbar = (Toolbar) findViewById(R.id.main_page_toolbar);
             setSupportActionBar(mToolbar);
             getSupportActionBar().setTitle("ViV");
 }
 else   if (position ==1){
 //toolbar
         mToolbar = (Toolbar) findViewById(R.id.main_page_toolbar);
         setSupportActionBar(mToolbar);
         getSupportActionBar().setTitle("Vi");
     }
else if (position ==2){
  //toolbar
    mToolbar = (Toolbar) findViewById(R.id.main_page_toolbar);
   setSupportActionBar(mToolbar);
   getSupportActionBar().setTitle("V");
   }

  }

    @Override
      public void onTabUnselected(TabLayout.Tab tab) {

 }

     @Override
     public void onTabReselected(TabLayout.Tab tab) {

       }


});