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;
    }
*/
}
}

Пусть данные разнятся, не суть...

Где мне найти метод отвечающий за меню? Или его вообще нет?


Ответы (0 шт):