Я использовал переключатель для создания вкладок и Фрагмент для изменения страниц с помощью вкладок.
Теперь я хочу иметь заявление, чтобы сказать, если пользователь нажимает один, например, позицию 0, как чаты. Фрагмент моей панели инструментов изменяется.
что я не знаю, так это то, как я могу поместить оператор if в свой класс результатов SectionsPagerAdapter с вкладками, чтобы изменить панели инструментов, которые я создал ранее.
Я сделал несколько операторов if на моем mViewPager или mTabLayout, но не сработал.
Моя активность для 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 );