ViewPager (по учебнику) переделываю на ViewPager2. Что я упускаю?
Изучаю Head First. Программирование для Android.
Код такой:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Добавляем панель приложения
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//Связывание SectionsPagerAdapter с ViewPager
SectionsPagerAdapter pagerAdapter =
new SectionsPagerAdapter(getSupportFragmentManager());
ViewPager pager = findViewById(R.id.pager);
pager.setAdapter(pagerAdapter);
//Связывание ViewPager с TabLayout
TabLayout tabLayout = findViewById(R.id.tabs);
tabLayout.setupWithViewPager(pager);
}
// Внутренний класс представляющий меню в панели приложений
private class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
// Метод отечающий за количество пунктов
@Override
public int getCount() {
return 4;
}
// Метод отечающий за пролистывание
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new ImFragment();
case 1:
return new ManicureFragment();
case 2:
return new PedicureFragment();
case 3:
return new WorkplaceFragment();
}
return null;
}
// Метод отечающий за меню в нижней части панели
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return getResources().getText(R.string.home_tab);
case 1:
return getResources().getText(R.string.manicure_tab);
case 2:
return getResources().getText(R.string.pedicure_tab);
case 3:
return getResources().getText(R.string.work_tab);
}
return null;
}
}
}
Я переделала и получилось следующее:
public class Z_OurDBActivity extends AppCompatActivity {
private ViewPager2 viewPager;
private FragmentStateAdapter pagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.z_activity_our_db);
// Добавляем панель приложения
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//Связывание SectionsPagerAdapter с ViewPager
viewPager = findViewById(R.id.pager_1);
pagerAdapter = new SectionsPagerAdapter(this);
viewPager.setAdapter(pagerAdapter);
//Связывание ViewPager с TabLayout
//TabLayout tabLayout = findViewById(R.id.tabs_1);
//tabLayout.setupWithViewPager(viewPager);
}
// Внутренний класс представляющий меню в панели приложений
private class SectionsPagerAdapter extends FragmentStateAdapter {
public SectionsPagerAdapter(FragmentActivity fa) {
super(fa);
}
// Метод отвечающий за количество пунктов
@Override
public int getItemCount() {
return 4;
}
// Метод отвечающий за пролистывание
@Override
public Fragment createFragment(int position) {
switch (position) {
case 0:
return new Z_CreationFragment();
case 1:
return new Z_EditingFragment();
case 2:
return new Z_RemoveFragment();
case 3:
return new Z_ExitFragment();
}
return null;
}
/*
// Метод отвечающий за меню в нижней части панели
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return getResources().getText(R.string.creation);
case 1:
return getResources().getText(R.string.editing);
case 2:
return getResources().getText(R.string.remove);
case 3:
return getResources().getText(R.string.exit);
}
return null;
}
*/
}
}
Пусть данные разнятся, не суть...
Где мне найти метод отвечающий за меню? Или его вообще нет?