Ошибка ViewPager2 androidx .... RecycleView.Adapter) в ViewPager2 не может быть применена - PullRequest
0 голосов
/ 24 марта 2020

Я преобразовал свой старый адаптер ViewPager в новый адаптер ViewPager2. Я получаю сообщение об ошибке, когда я устанавливаю Adapter в viewPager2.

setAdapter (androidx.viewpager.widget.RecycleView.Adapter) в ViewPager2 не может быть применен к ViewPagerAdapter

enter image description here

my ViewPagerAdapter

public class ViewPagerAdapter extends FragmentStatePagerAdapter {

    /**
     * Contains all the fragments.
     */
    private List<Fragment> fragments = new ArrayList<>();

    /**
     * Creates a new PagerAdapter instance.
     *
     * @param fragmentManager The FragmentManager.
     */
    public ViewPagerAdapter(FragmentManager fragmentManager) {
        super(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
    }

    @Override
    public int getCount() {
        return fragments.size();
    }

    @Override
    public Fragment getItem(int position) {
        return fragments.get(position);
    }

    /**
     * Adds the fragment to the list, also adds the fragment's tab title.
     *
     * @param fragment New instance of the Fragment to be associated with this tab.
     */
    public void addFragment(Fragment fragment) {
        fragments.add(fragment);
    }
}

1 Ответ

1 голос
/ 24 марта 2020

Неправильный тип адаптера необходимо изменить на FragmentStateAdapter https://developer.android.com/reference/androidx/viewpager2/adapter/FragmentStateAdapter

См. https://developer.android.com/reference/androidx/viewpager2/widget/ViewPager2#setAdapter (androidx.recyclerview.widget.RecyclerView.Adapter)

Если вы планируете использовать фрагменты в качестве страниц, внедрите FragmentStateAdapter

...