gpt4 book ai didi

java - Androidx ViewPager2 不兼容类型 : ViewPagerAdapter cannot be converted to Adapter

转载 作者:行者123 更新时间:2023-12-02 00:59:49 26 4
gpt4 key购买 nike

我正在使用 ViewPager2,并且在 viewPager2.setAdapter 上收到以下错误:

incompatible types: ViewPagerAdapter cannot be converted to Adapter

主 Activity

viewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager(),fragmentList);
viewPager2.setAdapter(viewPagerAdapter);

ViewPager适配器

public class ViewPagerAdapter extends FragmentStatePagerAdapter {

private List<PagerFragment> fragments;


public ViewPagerAdapter(FragmentManager fm, List<PagerFragment> fragments) {
super(fm);
this.fragments = fragments;
}

/* (non-Javadoc)
* @see android.support.v4.app.FragmentPagerAdapter#getItem(int)
*/
@Override
public Fragment getItem(int position) {
return this.fragments.get(position);
}

/* (non-Javadoc)
* @see android.support.v4.view.PagerAdapter#getCount()
*/
@Override
public int getCount() {
return this.fragments.size();
}
}

最佳答案

您正在尝试将 ViewPager v1 适配器与 ViewPager2 结合使用。您应该转换您的适配器以实现 FragmentStateAdapter相反。

参见this section of the migration documentation了解更多信息。特别是,您需要将 getCount 方法重命名为 getItemCount,并将 getItem 重命名为 createFragment并使其每次返回一个新的 Fragment 而不是重新使用实例。

关于java - Androidx ViewPager2 不兼容类型 : ViewPagerAdapter cannot be converted to Adapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60806199/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com