我使用 switch 来创建选项卡式和 Fragment 以通过选项卡式更改页面。现在我想声明如果用户点击一个,例如位置 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 );